From b6de9aa85f369c866f864cb0decd34e55a1f888e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 4 Oct 2021 22:40:32 +1300 Subject: [PATCH 001/112] Partial fix for OriginLibrary v3.x Note - doesn't work with Origin v2.1 files yet... still troubleshooting those! --- .../GameLibraries/OriginLibrary.cs | 372 +++++++++++------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/AMD/AMDLibrary.cs | 8 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 7 +- DisplayMagicianShared/ProfileRepository.cs | 2 - 5 files changed, 245 insertions(+), 148 deletions(-) diff --git a/DisplayMagician/GameLibraries/OriginLibrary.cs b/DisplayMagician/GameLibraries/OriginLibrary.cs index f390b90..bf79064 100644 --- a/DisplayMagician/GameLibraries/OriginLibrary.cs +++ b/DisplayMagician/GameLibraries/OriginLibrary.cs @@ -507,167 +507,97 @@ namespace DisplayMagician.GameLibraries logger.Trace($"OriginLibrary/LoadInstalledGames: Attempting to parse XML Game Installer Data file at {gameInstallerData}"); // Now we parse the XML XDocument xdoc = XDocument.Load(gameInstallerData); - originGame.GameName = xdoc.XPathSelectElement("/DiPManifest/gameTitles/gameTitle[@locale='en_US']").Value; - logger.Trace($"OriginLibrary/LoadInstalledGames: Game Name {originGame.GameName} found in Game Installer Data file {gameInstallerData}"); - string gameFilePath = xdoc.XPathSelectElement("/DiPManifest/runtime/launcher/filePath").Value; - logger.Trace($"OriginLibrary/LoadInstalledGames: Game File Path is {gameFilePath } found in Game Installer Data file {gameInstallerData}"); - - string originGameInstallLocation = ""; - // Check whether gameFilePath contains a registry key! Cause if it does we need to lookup the path there instead - if (gameFilePath.StartsWith("[HKEY_LOCAL_MACHINE")) + float manifestVersion; + // Try to figure out which version of the client created this game (as they changed their format a lot) + var thing = xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value; + if (xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value != null) { - logger.Trace($"OriginLibrary/LoadInstalledGames: Game File Path starts with a registery key so needs to be translated"); - // The filePath contains a registry key lookup that we need to execute and replace - string originGameInstallKeyNameAndValue = ""; - string originGameRestOfFile = ""; - MatchCollection mc = Regex.Matches(gameFilePath, @"\[HKEY_LOCAL_MACHINE\\(.*)\](.*)"); - if (mc.Count > 0) + if (Single.TryParse(xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value, out manifestVersion)) { - // Split the Reg key bit from the File Path bit - - originGameInstallKeyNameAndValue = mc[0].Groups[1].ToString(); - logger.Trace($"OriginLibrary/LoadInstalledGames: originGameInstallKeyNameAndValue = {originGameInstallKeyNameAndValue}"); - originGameRestOfFile = mc[0].Groups[2].ToString(); - logger.Trace($"OriginLibrary/LoadInstalledGames: originGameRestOfFile = {originGameRestOfFile}"); - if (originGameInstallKeyNameAndValue == null || originGameInstallKeyNameAndValue == "") - { - // then we have a problem and we need to continue and ignore this game - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has registry key but we can't extract it! gameFilePath is {gameFilePath}."); - continue; - } - - // Split the reg key from the value name - - string originGameInstallKeyName = ""; - string originGameInstallKeyValue = ""; - mc = Regex.Matches(originGameInstallKeyNameAndValue, @"(.*)\\([^\\]*)"); - if (mc.Count > 0) - { - originGameInstallKeyName = mc[0].Groups[1].ToString(); - logger.Trace($"OriginLibrary/LoadInstalledGames: originGameInstallKeyName = {originGameInstallKeyName }"); - originGameInstallKeyValue = mc[0].Groups[2].ToString(); - logger.Trace($"OriginLibrary/LoadInstalledGames: originGameInstallKeyValue = {originGameInstallKeyValue }"); - } - - // Lookup the reg key to figure out where the game is installed - try - { - RegistryKey originGameInstallKey = Registry.LocalMachine.OpenSubKey(originGameInstallKeyName, RegistryKeyPermissionCheck.ReadSubTree); - if (originGameInstallKey == null) - { - // then we have a problem as we cannot find the game exe location! - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has a install reg key we cannot find! originGameInstallKey is {gameFilePath} and originGameInstallKeyValue is {originGameInstallKeyValue}."); - continue; - } - originGameInstallLocation = Path.Combine(originGameInstallKey.GetValue(originGameInstallKeyValue).ToString(), originGameRestOfFile); - if (!File.Exists(originGameInstallLocation)) - { - // then we have a problem as we cannot locate the game exe file to start! - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has gameexe we cannot find! originGameInstallLocation is {originGameInstallLocation}."); - continue; - } - originGame.GameExePath = originGameInstallLocation; - } - catch (SecurityException ex) - { - logger.Warn(ex, $"OriginLibrary/LoadInstalledGames: The user does not have the permissions required to read the Origin Game location registry key {originGameInstallKeyName}, so skipping game"); - continue; - } - catch (ObjectDisposedException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The Microsoft.Win32.RegistryKey is closed when trying to access the Origin ClientPath registry key (closed keys cannot be accessed), so skipping game"); - continue; - } - catch (IOException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The Origin ClientPath registry key has been marked for deletion so we cannot access the value dueing the OriginLibrary check, so skipping game"); - continue; - } - catch (UnauthorizedAccessException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The user does not have the necessary registry rights to check whether Origin is installed, so skipping game"); - continue; - } + // This is an Origin manifest Version 4.0 client installed game + logger.Trace($"OriginLibrary/LoadInstalledGames: v4 - Detected the {gameInstallerData} manifest version was v{manifestVersion}"); } else { - logger.Warn($"OriginLibrary/LoadInstalledGames: Game File Path {gameFilePath} starts with '[HEKY_LOCAL_MACHINE' but didn't match the regex when it should have"); + logger.Error($"OriginLibrary/LoadInstalledGames: v4 - Couldn't determine the Detected the installer.xml manifest version for {gameInstallerData}. Skipping processing file."); continue; } - + } - else if (gameFilePath.StartsWith("[HKEY_CURRENT_USER")) + else if (xdoc.XPathSelectElement("/game").Attribute("manifestVersion").Value != null) { - // The filePath contains a registry key lookup that we need to execute and replace - MatchCollection mc = Regex.Matches(gameFilePath, @"\[HKEY_CURRENT_USER\\(.*)\](.*)"); - if (mc.Count > 0) + if (Single.TryParse(xdoc.XPathSelectElement("/game").Attribute("manifestVersion").Value,out manifestVersion)) { - string originGameInstallKeyNameAndValue = mc[0].Groups[1].ToString(); - string originGameRestOfFile = mc[0].Groups[2].ToString(); - if (originGameInstallKeyNameAndValue == null) - { - // then we have a problem and we need to continue and ignore this game - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has registry but we can't match it! gameFilePath is {gameFilePath}."); - continue; - } - - mc = Regex.Matches(originGameInstallKeyNameAndValue, @"(.*)\\([^\\]*)"); - string originGameInstallKeyName = mc[0].Groups[1].ToString(); - string originGameInstallKeyValue = mc[0].Groups[2].ToString(); - - try - { - RegistryKey originGameInstallKey = Registry.LocalMachine.OpenSubKey(originGameInstallKeyName, RegistryKeyPermissionCheck.ReadSubTree); - if (originGameInstallKey == null) - { - // then we have a problem as we cannot find the game exe location! - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has a install reg key we cannot find! originGameInstallKey is {gameFilePath} and originGameInstallKeyValue is {originGameInstallKeyValue}."); - continue; - } - originGameInstallLocation = Path.Combine(originGameInstallKey.GetValue(originGameInstallKeyValue).ToString(), originGameRestOfFile); - if (!File.Exists(originGameInstallLocation)) - { - // then we have a problem as we cannot locate the game exe file to start! - logger.Warn($"OriginLibrary/LoadInstalledGames: Origin game with ID {originGame.GameID} has gameexe we cannot find! originGameInstallLocation is {originGameInstallLocation}."); - continue; - } - originGame.GameExePath = originGameInstallLocation; - - } - catch (SecurityException ex) - { - logger.Warn(ex, $"OriginLibrary/LoadInstalledGames: The user does not have the permissions required to read the Origin Game location registry key {originGameInstallKeyName}, so skipping game"); - continue; - } - catch (ObjectDisposedException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The Microsoft.Win32.RegistryKey is closed when trying to access the Origin ClientPath registry key (closed keys cannot be accessed), so skipping game"); - continue; - } - catch (IOException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The Origin ClientPath registry key has been marked for deletion so we cannot access the value dueing the OriginLibrary check, so skipping game"); - continue; - } - catch (UnauthorizedAccessException ex) - { - logger.Warn(ex, "OriginLibrary/LoadInstalledGames: The user does not have the necessary registry rights to check whether Origin is installed, so skipping game"); - continue; - } + // This is an Origin manifest Version 2.x or 3.0 client installed game + logger.Trace($"OriginLibrary/LoadInstalledGames: v3 - Detected the {gameInstallerData} manifest version was v{manifestVersion}"); } else { - logger.Warn($"OriginLibrary/LoadInstalledGames: Game File Path {gameFilePath} starts with '[HKEY_CURRENT_USER' but didn't match the regex when it should have, so skipping game"); + logger.Error($"OriginLibrary/LoadInstalledGames: v3 - Couldn't determine the Detected the installer.xml manifest version for {gameInstallerData}. Skipping processing file."); continue; } } else { - // If we get here, then the gameFilepath is the actual filepath! So we just copy it. - logger.Trace($"OriginLibrary/LoadInstalledGames: Game File Path {gameFilePath} doesn't start with '[HKEY_LOCAL_MACHINE' or '[HKEY_CURRENT_USER' so it must be aplain file path"); - originGame.GameExePath = gameFilePath; + // This is an unrecognised manifest file + logger.Error($"OriginLibrary/LoadInstalledGames: Unrecognised installer.xml manifest version for {gameInstallerData}. Skipping processing file."); + continue; } + // now we go through and attempt to process the various manifest versions + if (manifestVersion >= 4.0) + { + originGame.GameName = xdoc.XPathSelectElement("/DiPManifest/gameTitles/gameTitle[@locale='en_US']").Value; + logger.Trace($"OriginLibrary/LoadInstalledGames: Game Name {originGame.GameName} found in Game Installer Data file {gameInstallerData}"); + // Look for the 64-bit version of the filepath + originGame.GameExePath = GetActualFilePath(xdoc.XPathSelectElement("/DiPManifest/runtime/launcher[requires64BitOS/text() = '1']/filePath").Value); + if (originGame.GameExePath == null) + { + // if not found, then look for the 32-bit version of the filepath + logger.Trace($"OriginLibrary/LoadInstalledGames: Couldn't find 64-bit game exe in Game Installer Data file {gameInstallerData}, so looking for 32-bit."); + originGame.GameExePath = GetActualFilePath(xdoc.XPathSelectElement("/DiPManifest/runtime/launcher[requires64BitOS/text() = '0']/filePath").Value); + if (originGame.GameExePath == null) + { + logger.Error($"OriginLibrary/LoadInstalledGames: Couldn't find 64-bit or 32-bit game exe in Game Installer Data file {gameInstallerData}, so skipping file."); + continue; + } + + } + logger.Trace($"OriginLibrary/LoadInstalledGames: Game File Path is {originGame.GameExePath} found in Game Installer Data file {gameInstallerData}"); + } + else if (manifestVersion >= 3.0 && manifestVersion < 4.0) + { + originGame.GameName = xdoc.XPathSelectElement("/game/metadata/localeInfo[@locale='en_US']/title").Value; + logger.Trace($"OriginLibrary/LoadInstalledGames: Game Name {originGame.GameName} found in Game Installer Data file {gameInstallerData}"); + // Look for the 64-bit version of the filepath + originGame.GameExePath = GetActualFilePath(xdoc.XPathSelectElement("/game/runtime/launcher[requires64BitOS/text() = '1']/filePath").Value); + if (originGame.GameExePath == null) + { + // if not found, then look for the 32-bit version of the filepath + logger.Trace($"OriginLibrary/LoadInstalledGames: Couldn't find 64-bit game exe in Game Installer Data file {gameInstallerData}, so looking for 32-bit."); + originGame.GameExePath = GetActualFilePath(xdoc.XPathSelectElement("/game/runtime/launcher[requires64BitOS/text() = '0']/filePath").Value); + if (originGame.GameExePath == null) + { + logger.Error($"OriginLibrary/LoadInstalledGames: Couldn't find 64-bit or 32-bit game exe in Game Installer Data file {gameInstallerData}, so skipping file."); + continue; + } + } + logger.Trace($"OriginLibrary/LoadInstalledGames: Game File Path is {originGame.GameExePath} found in Game Installer Data file {gameInstallerData}"); + } + else if (manifestVersion >= 2.0 && manifestVersion < 3.0) + { + originGame.GameName = xdoc.XPathSelectElement("/game/metadata/localeInfo[@locale='en_US']/title").Value; + logger.Trace($"OriginLibrary/LoadInstalledGames: Game Name {originGame.GameName} found in Game Installer Data file {gameInstallerData}"); + // This logger format requires more work and help from someon with the right game installed + logger.Error($"OriginLibrary/LoadInstalledGames: We currently don't have a way to extract the GameExePath from Origin v2.x installer.xml manifest files. Couldn't process {gameInstallerData}. Skipping processing file."); + continue; + } + else + { + // This is a manifest file we cannot process as we've never seen it before + logger.Error($"OriginLibrary/LoadInstalledGames: Unrecognised installer.xml manifest version for {gameInstallerData}. Skipping processing file."); + continue; + } if (!File.Exists(originGame.GameExePath)) { @@ -751,6 +681,166 @@ namespace DisplayMagician.GameLibraries return gameProcess; } + + private string GetActualFilePath(string gameFilePath) + { + string originGameInstallLocation = ""; + // Check whether gameFilePath contains a registry key! Cause if it does we need to lookup the path there instead + if (gameFilePath.StartsWith("[HKEY_LOCAL_MACHINE")) + { + logger.Trace($"OriginLibrary/GetActualFilePath: Game File Path starts with a registery key so needs to be translated"); + // The filePath contains a registry key lookup that we need to execute and replace + string originGameInstallKeyNameAndValue = ""; + string originGameRestOfFile = ""; + MatchCollection mc = Regex.Matches(gameFilePath, @"\[HKEY_LOCAL_MACHINE\\(.*)\](.*)"); + if (mc.Count > 0) + { + // Split the Reg key bit from the File Path bit + + originGameInstallKeyNameAndValue = mc[0].Groups[1].ToString(); + logger.Trace($"OriginLibrary/GetActualFilePath: originGameInstallKeyNameAndValue = {originGameInstallKeyNameAndValue}"); + originGameRestOfFile = mc[0].Groups[2].ToString(); + logger.Trace($"OriginLibrary/GetActualFilePath: originGameRestOfFile = {originGameRestOfFile}"); + if (originGameInstallKeyNameAndValue == null || originGameInstallKeyNameAndValue == "") + { + // then we have a problem and we need to continue and ignore this game + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has registry key but we can't extract it!"); + return null; + } + + // Split the reg key from the value name + + string originGameInstallKeyName = ""; + string originGameInstallKeyValue = ""; + mc = Regex.Matches(originGameInstallKeyNameAndValue, @"(.*)\\([^\\]*)"); + if (mc.Count > 0) + { + originGameInstallKeyName = mc[0].Groups[1].ToString(); + logger.Trace($"OriginLibrary/GetActualFilePath: originGameInstallKeyName = {originGameInstallKeyName }"); + originGameInstallKeyValue = mc[0].Groups[2].ToString(); + logger.Trace($"OriginLibrary/GetActualFilePath: originGameInstallKeyValue = {originGameInstallKeyValue }"); + } + + // Lookup the reg key to figure out where the game is installed + try + { + RegistryKey originGameInstallKey = Registry.LocalMachine.OpenSubKey(originGameInstallKeyName, RegistryKeyPermissionCheck.ReadSubTree); + if (originGameInstallKey == null) + { + // then we have a problem as we cannot find the game exe location! + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has a install reg key we cannot find! originGameInstallKey is {gameFilePath} and originGameInstallKeyValue is {originGameInstallKeyValue}."); + return null; + } + originGameInstallLocation = Path.Combine(originGameInstallKey.GetValue(originGameInstallKeyValue).ToString(), originGameRestOfFile); + if (!File.Exists(originGameInstallLocation)) + { + // then we have a problem as we cannot locate the game exe file to start! + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has gameexe we cannot find! originGameInstallLocation is {originGameInstallLocation}."); + return null; + } + return originGameInstallLocation; + } + catch (SecurityException ex) + { + logger.Warn(ex, $"OriginLibrary/GetActualFilePath: The user does not have the permissions required to read the Origin Game location registry key {originGameInstallKeyName}, so skipping game"); + return null; + } + catch (ObjectDisposedException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The Microsoft.Win32.RegistryKey is closed when trying to access the Origin ClientPath registry key (closed keys cannot be accessed), so skipping game"); + return null; + } + catch (IOException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The Origin ClientPath registry key has been marked for deletion so we cannot access the value dueing the OriginLibrary check, so skipping game"); + return null; + } + catch (UnauthorizedAccessException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The user does not have the necessary registry rights to check whether Origin is installed, so skipping game"); + return null; + } + } + else + { + logger.Warn($"OriginLibrary/GetActualFilePath: Game File Path {gameFilePath} starts with '[HEKY_LOCAL_MACHINE' but didn't match the regex when it should have"); + return null; + } + + } + else if (gameFilePath.StartsWith("[HKEY_CURRENT_USER")) + { + // The filePath contains a registry key lookup that we need to execute and replace + MatchCollection mc = Regex.Matches(gameFilePath, @"\[HKEY_CURRENT_USER\\(.*)\](.*)"); + if (mc.Count > 0) + { + string originGameInstallKeyNameAndValue = mc[0].Groups[1].ToString(); + string originGameRestOfFile = mc[0].Groups[2].ToString(); + if (originGameInstallKeyNameAndValue == null) + { + // then we have a problem and we need to continue and ignore this game + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has registry but we can't match it! gameFilePath is {gameFilePath}."); + return null; + } + + mc = Regex.Matches(originGameInstallKeyNameAndValue, @"(.*)\\([^\\]*)"); + string originGameInstallKeyName = mc[0].Groups[1].ToString(); + string originGameInstallKeyValue = mc[0].Groups[2].ToString(); + + try + { + RegistryKey originGameInstallKey = Registry.LocalMachine.OpenSubKey(originGameInstallKeyName, RegistryKeyPermissionCheck.ReadSubTree); + if (originGameInstallKey == null) + { + // then we have a problem as we cannot find the game exe location! + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has a install reg key we cannot find! originGameInstallKey is {gameFilePath} and originGameInstallKeyValue is {originGameInstallKeyValue}."); + return null; + } + originGameInstallLocation = Path.Combine(originGameInstallKey.GetValue(originGameInstallKeyValue).ToString(), originGameRestOfFile); + if (!File.Exists(originGameInstallLocation)) + { + // then we have a problem as we cannot locate the game exe file to start! + logger.Warn($"OriginLibrary/GetActualFilePath: Origin game path {gameFilePath} has gameexe we cannot find! originGameInstallLocation is {originGameInstallLocation}."); + return null; + } + return originGameInstallLocation; + + } + catch (SecurityException ex) + { + logger.Warn(ex, $"OriginLibrary/GetActualFilePath: The user does not have the permissions required to read the Origin Game location registry key {originGameInstallKeyName}, so skipping game"); + return null; + } + catch (ObjectDisposedException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The Microsoft.Win32.RegistryKey is closed when trying to access the Origin ClientPath registry key (closed keys cannot be accessed), so skipping game"); + return null; + } + catch (IOException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The Origin ClientPath registry key has been marked for deletion so we cannot access the value dueing the OriginLibrary check, so skipping game"); + return null; + } + catch (UnauthorizedAccessException ex) + { + logger.Warn(ex, "OriginLibrary/GetActualFilePath: The user does not have the necessary registry rights to check whether Origin is installed, so skipping game"); + return null; + } + } + else + { + logger.Warn($"OriginLibrary/GetActualFilePath: Game File Path {gameFilePath} starts with '[HKEY_CURRENT_USER' but didn't match the regex when it should have, so skipping game"); + return null; + } + } + else + { + // If we get here, then the gameFilepath is the actual filepath! So we just copy it. + logger.Trace($"OriginLibrary/GetActualFilePath: Game File Path {gameFilePath} doesn't start with '[HKEY_LOCAL_MACHINE' or '[HKEY_CURRENT_USER' so it must be aplain file path"); + return gameFilePath; + } + } + #endregion } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a608d47..5cb4dc1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.59")] -[assembly: AssemblyFileVersion("2.0.1.59")] +[assembly: AssemblyVersion("2.0.1.70")] +[assembly: AssemblyFileVersion("2.0.1.70")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index e8357f0..aa8d01c 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -209,9 +209,13 @@ namespace DisplayMagicianShared.AMD catch (DllNotFoundException ex) { // If we get here then the AMD ADL DLL wasn't found. We can't continue to use it, so we log the error and exit - SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed."); + SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: DLL Not Found Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed (which it won't be if you don't have an AMD card)"); + } + catch (Exception ex) + { + // If we get here then something else happened + SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: General Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed (which it won't be if you don't have an AMD card)"); } - } ~AMDLibrary() diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index bfaaef5..98fa7dd 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -193,7 +193,12 @@ namespace DisplayMagicianShared.NVIDIA catch (DllNotFoundException ex) { // If this fires, then the DLL isn't available, so we need don't try to do anything else - SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed."); + SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed (which it won't be if you don't have an NVIDIA card)."); + } + catch (Exception ex) + { + // If we get here then another problem happened + SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: General Exception trying to load the NVAPI DLL. This generally means you don't have the NVIDIA NVAPI driver installed (which it won't be if you don't have an NVIDIA card)"); } } diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 362d96a..00dcd0d 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -1045,7 +1045,6 @@ namespace DisplayMagicianShared { SharedLogger.logger.Debug($"ProfileRepository/ProfileRepository: Initialising the NVIDIA NVAPI library."); nvidiaLibrary = new NVIDIALibrary(); - _currentVideoMode = VIDEO_MODE.NVIDIA; } catch (Exception ex) { @@ -1060,7 +1059,6 @@ namespace DisplayMagicianShared { SharedLogger.logger.Debug($"ProfileRepository/ProfileRepository: Initialising the AMD ADL library."); amdLibrary = new AMDLibrary(); - _currentVideoMode = VIDEO_MODE.AMD; } catch (Exception ex) { From 988d43abdf0689fbb4aab04446c4724c2806e171 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 4 Oct 2021 22:41:07 +1300 Subject: [PATCH 002/112] Left some troubleshooting live --- DisplayMagician/GameLibraries/OriginLibrary.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/DisplayMagician/GameLibraries/OriginLibrary.cs b/DisplayMagician/GameLibraries/OriginLibrary.cs index bf79064..e7bfa7a 100644 --- a/DisplayMagician/GameLibraries/OriginLibrary.cs +++ b/DisplayMagician/GameLibraries/OriginLibrary.cs @@ -509,7 +509,6 @@ namespace DisplayMagician.GameLibraries XDocument xdoc = XDocument.Load(gameInstallerData); float manifestVersion; // Try to figure out which version of the client created this game (as they changed their format a lot) - var thing = xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value; if (xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value != null) { if (Single.TryParse(xdoc.XPathSelectElement("/DiPManifest").Attribute("version").Value, out manifestVersion)) From d2c158741234a3f10c79782feb29571998b694dc Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 4 Oct 2021 23:15:53 +1300 Subject: [PATCH 003/112] Update to v2.0.1.71 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 5cb4dc1..8a2ac93 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.70")] -[assembly: AssemblyFileVersion("2.0.1.70")] +[assembly: AssemblyVersion("2.0.1.71")] +[assembly: AssemblyFileVersion("2.0.1.71")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From c81ac9328026637e69f8acfc8881c6ab313cf9a1 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 6 Oct 2021 19:24:15 +1300 Subject: [PATCH 004/112] Updates to support Origin v2.1 manifest files This code *should* support v2.1 manifest files for the Origin library. I don't have a n Origin v2.1 install though, so no chance to test. The code may work, but at least won't fail. --- .../GameLibraries/OriginLibrary.cs | 63 ++++++++++++++++++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/GameLibraries/OriginLibrary.cs b/DisplayMagician/GameLibraries/OriginLibrary.cs index e7bfa7a..631b765 100644 --- a/DisplayMagician/GameLibraries/OriginLibrary.cs +++ b/DisplayMagician/GameLibraries/OriginLibrary.cs @@ -10,6 +10,7 @@ using System.Xml.Linq; using System.Xml.XPath; using System.Web; using System.Diagnostics; +using System.Text; namespace DisplayMagician.GameLibraries { @@ -587,9 +588,65 @@ namespace DisplayMagician.GameLibraries { originGame.GameName = xdoc.XPathSelectElement("/game/metadata/localeInfo[@locale='en_US']/title").Value; logger.Trace($"OriginLibrary/LoadInstalledGames: Game Name {originGame.GameName} found in Game Installer Data file {gameInstallerData}"); - // This logger format requires more work and help from someon with the right game installed - logger.Error($"OriginLibrary/LoadInstalledGames: We currently don't have a way to extract the GameExePath from Origin v2.x installer.xml manifest files. Couldn't process {gameInstallerData}. Skipping processing file."); - continue; + // This logger format requires more work and help from someone with the right game installed + string mnsftRelFileName = xdoc.XPathSelectElement("/game/installManifest/filePath").Value; + string mnsftFullFileName = Path.Combine(originGame.GameInstallDir, mnsftRelFileName); + logger.Trace($"OriginLibrary/LoadInstalledGames: Game uses a v{manifestVersion} manifest version, so needing to parse mnfst file {mnsftFullFileName} found in Game Installer Data file {gameInstallerData}"); + // read in the mnsft.txt file + string mnsftData; + try + { + mnsftData = File.ReadAllText(mnsftFullFileName, Encoding.Unicode); + } + catch (Exception ex) + { + logger.Error(ex, $"OriginLibrary/LoadInstalledGames: Tried to read the mnfst file {mnsftFullFileName} to memory but File.ReadAllTextthrew an exception. Skipping this game"); + continue; + } + // look for a .par file as that will indicate the main exe + string[] parFiles; + try + { + parFiles = Directory.GetFiles(originGame.GameInstallDir, "*.par", SearchOption.AllDirectories); + logger.Trace($"OriginLibrary/LoadInstalledGames: Found {parFiles.Length} .par files in the {originGame.GameInstallDir} directory."); + } + catch (Exception ex) + { + logger.Error(ex, $"OriginLibrary/LoadInstalledGames: Tried to find any *.par files in the game directory {originGame.GameInstallDir} . Skipping this game"); + continue; + } + + if (parFiles.Length == 0) + { + // No par files found :( So lets just try and pick the first exe in the mnfst.txt instead. + logger.Trace($"OriginLibrary/LoadInstalledGames: No .par files in the {originGame.GameInstallDir} directory, so attempting to get the first exe in the mnsft.txt file."); + MatchCollection mc = Regex.Matches(mnsftData, @"""([^/]*).exe"""); + if (mc.Count > 0) + { + originGame.GameExePath = mc[0].Groups[1].ToString(); + logger.Trace($"OriginLibrary/LoadInstalledGames: originGame.GameExePath = {originGame.GameExePath }"); + } + logger.Error($"OriginLibrary/LoadInstalledGames: Couldn't find any *.par files in the game directory {originGame.GameInstallDir} . Skipping this game"); + } + else if (parFiles.Length > 0) + { + // Par files found! So lets just try and pick the exe that has the same basename as the par file in the mnfst.txt. + string parFileBaseName = Path.GetFileNameWithoutExtension(parFiles[0]); + logger.Trace($"OriginLibrary/LoadInstalledGames: Looking for {parFileBaseName}.exe in the mnsft.txt file as it matches {parFiles[0]}."); + MatchCollection mc = Regex.Matches(mnsftData, $@"""{parFiles[0]}.exe"""); + if (mc.Count > 0) + { + originGame.GameExePath = mc[0].Groups[1].ToString(); + logger.Trace($"OriginLibrary/LoadInstalledGames: originGame.GameExePath = {originGame.GameExePath }"); + } + logger.Error($"OriginLibrary/LoadInstalledGames: Couldn't find any *.par files in the game directory {originGame.GameInstallDir} . Skipping this game"); + } + else + { + logger.Error($"OriginLibrary/LoadInstalledGames: Count of par files was less than zero. Skipping this game"); + continue; + } + } else { diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8a2ac93..58222f1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.71")] -[assembly: AssemblyFileVersion("2.0.1.71")] +[assembly: AssemblyVersion("2.0.1.72")] +[assembly: AssemblyFileVersion("2.0.1.72")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 2c3f3de23d76ccfa51f171d9a45682b1d59aa00c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 6 Oct 2021 19:34:58 +1300 Subject: [PATCH 005/112] Fixed incorrect error when creating new shortcut Logic error. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagician/UIForms/ShortcutForm.cs | 33 ++++++++++++---------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 58222f1..05e5439 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.72")] -[assembly: AssemblyFileVersion("2.0.1.72")] +[assembly: AssemblyVersion("2.0.1.75")] +[assembly: AssemblyFileVersion("2.0.1.75")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 529a09d..25e4642 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1141,25 +1141,28 @@ namespace DisplayMagician.UIForms if (_shortcutToEdit != null) { - - bool gameStillInstalled = false; - foreach (ImageListViewItem gameItem in ilv_games.Items) + if (_shortcutToEdit.Category == ShortcutCategory.Game && _shortcutToEdit.GameAppId != null) { - if (gameItem.Text.Equals(_shortcutToEdit.GameName)) + bool gameStillInstalled = false; + foreach (ImageListViewItem gameItem in ilv_games.Items) { - gameStillInstalled = true; - break; - } + if (gameItem.Text.Equals(_shortcutToEdit.GameName)) + { + gameStillInstalled = true; + break; + } + } + if (!gameStillInstalled) + { + DialogResult result = MessageBox.Show( + $"This shortcut refers to the '{_shortcutToEdit.GameName}' game that was installed in your {_shortcutToEdit.GameLibrary.ToString("G")} library. This game is no longer installed, so the shortcut won't work. You either need to change the game used in the Shortcut to another installed game, or you need to install the game files on your computer again.", + @"Game no longer exists", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } } - if (!gameStillInstalled) - { - DialogResult result = MessageBox.Show( - $"This shortcut refers to the '{_shortcutToEdit.GameName}' game that was installed in your {_shortcutToEdit.GameLibrary.ToString("G")} library. This game is no longer installed, so the shortcut won't work. You either need to change the game used in the Shortcut to another installed game, or you need to install the game files on your computer again.", - @"Game no longer exists", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - } + if (ProfileRepository.ContainsProfile(_shortcutToEdit.ProfileUUID)) { From a824f06b33113b7c55ab28593442cfcf26e60c1e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 7 Oct 2021 21:08:10 +1300 Subject: [PATCH 006/112] Updated DM will latest video libraries Brought over all the latest working code from NVIDIAInfo, AMDInfo and CCDInfo. This includes the new split between the NVIDIA and AMD specific layout, and the NVIDIA and AMD specific color application, so that the video application logic goes like this: 1. Apply NVIDIA Surround or AMD Eyefinity and any 'pre' windows settings 2. Apply the Windows Display Layout 3. Apply the NVIDIA or AMD 'post' windows settings e.g. driver specific color overrides This new process works. --- DisplayMagicianShared/AMD/AMDLibrary.cs | 62 ++++-- DisplayMagicianShared/NVIDIA/NVAPI.cs | 157 +++++++++++++-- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 185 ++++++++++++++++-- DisplayMagicianShared/Windows/CCD.cs | 2 +- DisplayMagicianShared/Windows/WinLibrary.cs | 2 +- 5 files changed, 352 insertions(+), 56 deletions(-) diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index aa8d01c..013f25b 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -160,6 +160,7 @@ namespace DisplayMagicianShared.AMD private static WinLibrary _winLibrary = new WinLibrary(); private bool _initialised = false; + private bool _haveActiveDisplayConfig = false; // To detect redundant calls private bool _disposed = false; @@ -167,6 +168,7 @@ namespace DisplayMagicianShared.AMD // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); private IntPtr _adlContextHandle = IntPtr.Zero; + private AMD_DISPLAY_CONFIG _activeDisplayConfig; static AMDLibrary() { } public AMDLibrary() @@ -209,13 +211,9 @@ namespace DisplayMagicianShared.AMD catch (DllNotFoundException ex) { // If we get here then the AMD ADL DLL wasn't found. We can't continue to use it, so we log the error and exit - SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: DLL Not Found Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed (which it won't be if you don't have an AMD card)"); - } - catch (Exception ex) - { - // If we get here then something else happened - SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: General Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed (which it won't be if you don't have an AMD card)"); + SharedLogger.logger.Info(ex, $"AMDLibrary/AMDLibrary: Exception trying to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}. This generally means you don't have the AMD ADL driver installed."); } + } ~AMDLibrary() @@ -278,6 +276,23 @@ namespace DisplayMagicianShared.AMD } } + public AMD_DISPLAY_CONFIG ActiveDisplayConfig + { + get + { + if (!_haveActiveDisplayConfig) + { + _activeDisplayConfig = GetActiveConfig(); + _haveActiveDisplayConfig = true; + } + return _activeDisplayConfig; + } + set + { + _activeDisplayConfig = value; + } + } + public static AMDLibrary GetLibrary() { return _instance; @@ -1298,9 +1313,6 @@ namespace DisplayMagicianShared.AMD // Set the initial state of the ADL_STATUS ADL_STATUS ADLRet = 0; - // We want to get the current config - AMD_DISPLAY_CONFIG currentDisplayConfig = GetAMDDisplayConfig(); - // set the display locations if (displayConfig.SlsConfig.IsSlsEnabled) { @@ -1371,12 +1383,12 @@ namespace DisplayMagicianShared.AMD // We need to change to a plain, non-Eyefinity (SLS) profile, so we need to disable any SLS Topologies if they are being used SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is not used in the new display configuration, so we need to set it to disabled if it's configured currently"); - if (currentDisplayConfig.SlsConfig.IsSlsEnabled) + if (ActiveDisplayConfig.SlsConfig.IsSlsEnabled) { // We need to disable the current Eyefinity (SLS) profile to turn it off SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is enabled in the current display configuration, so we need to turn it off"); - foreach (AMD_SLSMAP_CONFIG slsMapConfig in currentDisplayConfig.SlsConfig.SLSMapConfigs) + foreach (AMD_SLSMAP_CONFIG slsMapConfig in ActiveDisplayConfig.SlsConfig.SLSMapConfigs) { // Turn off this SLS Map Config ADLRet = ADLImport.ADL2_Display_SLSMapConfig_SetState(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap.SLSMapIndex, ADLImport.ADL_FALSE); @@ -1395,6 +1407,24 @@ namespace DisplayMagicianShared.AMD } + } + else + { + SharedLogger.logger.Error($"AMDLibrary/SetActiveConfig: ERROR - Tried to run SetActiveConfig but the AMD ADL library isn't initialised!"); + throw new AMDLibraryException($"Tried to run SetActiveConfig but the AMD ADL library isn't initialised!"); + } + + return true; + } + + + public bool SetActiveConfigOverride(AMD_DISPLAY_CONFIG displayConfig) + { + if (_initialised) + { + // Set the initial state of the ADL_STATUS + ADL_STATUS ADLRet = 0; + // We want to set the AMD HDR settings now // We got through each of the attached displays and set the HDR @@ -1402,7 +1432,7 @@ namespace DisplayMagicianShared.AMD foreach (var hdrConfig in displayConfig.HdrConfigs) { // Try and find the HDR config displays in the list of currently connected displays - foreach (var displayInfoItem in currentDisplayConfig.DisplayTargets) + foreach (var displayInfoItem in ActiveDisplayConfig.DisplayTargets) { // If we find the HDR config display in the list of currently connected displays then try to set the HDR setting we recorded earlier if (hdrConfig.Key == displayInfoItem.DisplayID.DisplayLogicalIndex) @@ -1436,17 +1466,17 @@ namespace DisplayMagicianShared.AMD } } - } else { - SharedLogger.logger.Error($"AMDLibrary/SetActiveConfig: ERROR - Tried to run SetActiveConfig but the AMD ADL library isn't initialised!"); - throw new AMDLibraryException($"Tried to run SetActiveConfig but the AMD ADL library isn't initialised!"); + SharedLogger.logger.Error($"AMDLibrary/SetActiveConfig: ERROR - Tried to run SetActiveConfigOverride but the AMD ADL library isn't initialised!"); + throw new AMDLibraryException($"Tried to run SetActiveConfigOverride but the AMD ADL library isn't initialised!"); } - return true; } + + public bool IsActiveConfig(AMD_DISPLAY_CONFIG displayConfig) { // Get the current windows display configs to compare to the one we loaded diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index e1b6b3f..89b179f 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -472,12 +472,12 @@ namespace DisplayMagicianShared.NVIDIA { VALID = 0x00000000, //!< The topology is valid MISSING_GPU = 0x00000001, //!< Not enough SLI GPUs were found to fill the entire - //! topology. hPhysicalGPU will be 0 for these. + //! topology. hPhysicalGPU will be 0 for these. MISSING_DISPLAY = 0x00000002, //!< Not enough displays were found to fill the entire - //! topology. displayOutputId will be 0 for these. + //! topology. displayOutputId will be 0 for these. MIXED_DISPLAY_TYPES = 0x00000004, //!< The topoogy is only possible with displays of the same - //! NV_GPU_OUTPUT_TYPE. Check displayOutputIds to make - //! sure they are all CRTs, or all DFPs. + //! NV_GPU_OUTPUT_TYPE. Check displayOutputIds to make + //! sure they are all CRTs, or all DFPs. } public enum NV_GPU_BUS_TYPE : UInt32 @@ -525,7 +525,7 @@ namespace DisplayMagicianShared.NVIDIA } - public enum NV_COLOR_FORMAT : UInt32 + public enum NV_COLOR_FORMAT : byte { RGB = 0, YUV422, @@ -536,8 +536,36 @@ namespace DisplayMagicianShared.NVIDIA AUTO = 0xFF } + public enum NV_DYNAMIC_RANGE : byte + { + VESA = 0x0, + CEA = 0x1, - public enum NV_DYNAMIC_RANGE : UInt32 + AUTO = 0xFF + } + + public enum NV_BPC : byte + { + BPC_DEFAULT = 0, + BPC_6 = 1, + BPC_8 = 2, + BPC_10 = 3, + BPC_12 = 4, + BPC_16 = 5, + } + + public enum NV_HDR_COLOR_FORMAT : UInt32 + { + RGB = 0, + YUV422, + YUV444, + YUV420, + + DEFAULT = 0xFE, + AUTO = 0xFF + } + + public enum NV_HDR_DYNAMIC_RANGE : UInt32 { VESA = 0x0, CEA = 0x1, @@ -546,14 +574,49 @@ namespace DisplayMagicianShared.NVIDIA } - public enum NV_BPC : UInt32 + public enum NV_COLOR_CMD : byte { - BPC_DEFAULT = 0, - BPC_6 = 1, - BPC_8 = 2, - BPC_10 = 3, - BPC_12 = 4, - BPC_16 = 5, + NV_COLOR_CMD_GET = 1, + NV_COLOR_CMD_SET, + NV_COLOR_CMD_IS_SUPPORTED_COLOR, + NV_COLOR_CMD_GET_DEFAULT + } + + public enum NV_COLOR_COLORIMETRY : UInt32 + { + NV_COLOR_COLORIMETRY_RGB = 0, + NV_COLOR_COLORIMETRY_YCC601, + NV_COLOR_COLORIMETRY_YCC709, + NV_COLOR_COLORIMETRY_XVYCC601, + NV_COLOR_COLORIMETRY_XVYCC709, + NV_COLOR_COLORIMETRY_SYCC601, + NV_COLOR_COLORIMETRY_ADOBEYCC601, + NV_COLOR_COLORIMETRY_ADOBERGB, + NV_COLOR_COLORIMETRY_BT2020RGB, + NV_COLOR_COLORIMETRY_BT2020YCC, + NV_COLOR_COLORIMETRY_BT2020cYCC, + + NV_COLOR_COLORIMETRY_DEFAULT = 0xFE, + NV_COLOR_COLORIMETRY_AUTO = 0xFF + } + + public enum NV_COLOR_SELECTION_POLICY : UInt32 + { + NV_COLOR_SELECTION_POLICY_USER = 0, //!< app/nvcpl make decision to select the desire color format + NV_COLOR_SELECTION_POLICY_BEST_QUALITY = 1, //!< driver/ OS make decision to select the best color format + NV_COLOR_SELECTION_POLICY_DEFAULT = NV_COLOR_SELECTION_POLICY_BEST_QUALITY, + NV_COLOR_SELECTION_POLICY_UNKNOWN = 0xFF, + } + + public enum NV_DESKTOP_COLOR_DEPTH + { + NV_DESKTOP_COLOR_DEPTH_DEFAULT = 0x0, // set if the current setting should be kept + NV_DESKTOP_COLOR_DEPTH_8BPC = 0x1, //8 bit int per color component (8 bit int alpha) + NV_DESKTOP_COLOR_DEPTH_10BPC = 0x2, //10 bit int per color component (2 bit int alpha) + NV_DESKTOP_COLOR_DEPTH_16BPC_FLOAT = 0x3, //16 bit float per color component (16 bit float alpha) + NV_DESKTOP_COLOR_DEPTH_16BPC_FLOAT_WCG = 0x4, //16 bit float per color component (16 bit float alpha) wide color gamut + NV_DESKTOP_COLOR_DEPTH_16BPC_FLOAT_HDR = 0x5, //16 bit float per color component (16 bit float alpha) HDR + NV_DESKTOP_COLOR_DEPTH_MAX_VALUE = NV_DESKTOP_COLOR_DEPTH_16BPC_FLOAT_HDR, // must be set to highest enum value } [Flags] @@ -1298,12 +1361,12 @@ namespace DisplayMagicianShared.NVIDIA public bool TopologyValid => ValidityMask == 0; //!< The topology is valid public bool TopologyMissingGPU => ValidityMask.HasFlag(NV_MOSAIC_TOPO_VALIDITY.MISSING_GPU); //!< Not enough SLI GPUs were found to fill the entire - //! topology. hPhysicalGPU will be 0 for these. + //! topology. hPhysicalGPU will be 0 for these. public bool TopologyMissingDisplay => ValidityMask.HasFlag(NV_MOSAIC_TOPO_VALIDITY.MISSING_DISPLAY);//!< Not enough displays were found to fill the entire - //! topology. displayOutputId will be 0 for these. + //! topology. displayOutputId will be 0 for these. public bool TopologyMixedDisplayTypes => ValidityMask.HasFlag(NV_MOSAIC_TOPO_VALIDITY.MIXED_DISPLAY_TYPES);//!< The topoogy is only possible with displays of the same - //! NV_GPU_OUTPUT_TYPE. Check displayOutputIds to make - //! sure they are all CRTs, or all DFPs. + //! NV_GPU_OUTPUT_TYPE. Check displayOutputIds to make + //! sure they are all CRTs, or all DFPs. public override Int32 GetHashCode() { @@ -1799,8 +1862,8 @@ namespace DisplayMagicianShared.NVIDIA public NV_HDR_MODE HdrMode; //!< HDR mode public NV_STATIC_METADATA_DESCRIPTOR_ID StaticMetadataDescriptorId; //!< Static Metadata Descriptor Id (0 for static metadata type 1) public NV_HDR_COLOR_DISPLAY_DATA MasteringDisplayData; //!< Static Metadata Descriptor Type 1, CEA-861.3, SMPTE ST2086 - public NV_COLOR_FORMAT HdrColorFormat; //!< Optional, One of NV_COLOR_FORMAT enum values, if set it will apply requested color format for HDR session - public NV_DYNAMIC_RANGE HdrDynamicRange; //!< Optional, One of NV_DYNAMIC_RANGE enum values, if set it will apply requested dynamic range for HDR session + public NV_HDR_COLOR_FORMAT HdrColorFormat; //!< Optional, One of NV_COLOR_FORMAT enum values, if set it will apply requested color format for HDR session + public NV_HDR_DYNAMIC_RANGE HdrDynamicRange; //!< Optional, One of NV_DYNAMIC_RANGE enum values, if set it will apply requested dynamic range for HDR session public NV_BPC HdrBpc; //!< Optional, One of NV_BPC enum values, if set it will apply requested color depth //!< Dolby Vision mode: DV supports specific combinations of colorformat, dynamic range and bpc. Please refer Dolby Vision specification. //!< If invalid or no combination is passed driver will force default combination of RGB format + full range + 8bpc. @@ -1867,6 +1930,40 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NV_HDR_COLOR_DISPLAY_DATA lhs, NV_HDR_COLOR_DISPLAY_DATA rhs) => !(lhs == rhs); } + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NV_COLOR_DATA_V5 : IEquatable + { + public UInt32 Version; //!< Version of this structure + public UInt16 Size; //!< Size of this structure + public NV_COLOR_CMD Cmd; + public NV_COLOR_FORMAT ColorFormat; //!< One of NV_COLOR_FORMAT enum values. + public NV_COLOR_COLORIMETRY Colorimetry; //!< One of NV_COLOR_COLORIMETRY enum values. + public NV_DYNAMIC_RANGE DynamicRange; //!< One of NV_DYNAMIC_RANGE enum values. + public NV_BPC Bpc; //!< One of NV_BPC enum values. + public NV_COLOR_SELECTION_POLICY ColorSelectionPolicy; //!< One of the color selection policy + public NV_DESKTOP_COLOR_DEPTH Depth; //!< One of NV_DESKTOP_COLOR_DEPTH enum values. + + public override bool Equals(object obj) => obj is NV_COLOR_DATA_V5 other && this.Equals(other); + public bool Equals(NV_COLOR_DATA_V5 other) + => Version == other.Version && + Size == other.Size && + Cmd == other.Cmd && + ColorFormat == other.ColorFormat && + Colorimetry == other.Colorimetry && + DynamicRange == other.DynamicRange && + Bpc == other.Bpc && + ColorSelectionPolicy == other.ColorSelectionPolicy && + Depth == other.Depth; + + public override Int32 GetHashCode() + { + return (Version, Size, Cmd, ColorFormat, Colorimetry, DynamicRange, Bpc, ColorSelectionPolicy, Depth).GetHashCode(); + } + public static bool operator ==(NV_COLOR_DATA_V5 lhs, NV_COLOR_DATA_V5 rhs) => lhs.Equals(rhs); + + public static bool operator !=(NV_COLOR_DATA_V5 lhs, NV_COLOR_DATA_V5 rhs) => !(lhs == rhs); + } + // ================================== // NVImport Class // ================================== @@ -1938,6 +2035,7 @@ namespace DisplayMagicianShared.NVIDIA public static UInt32 NV_MOSAIC_SUPPORTED_TOPO_INFO_V1_VER = MAKE_NVAPI_VERSION(1); public static UInt32 NV_MOSAIC_SUPPORTED_TOPO_INFO_V2_VER = MAKE_NVAPI_VERSION(2); public static UInt32 NV_HDR_COLOR_DATA_V2_VER = MAKE_NVAPI_VERSION(2); + public static UInt32 NV_COLOR_DATA_V5_VER = MAKE_NVAPI_VERSION(5); public static UInt32 NV_HDR_CAPABILITIES_V2_VER = MAKE_NVAPI_VERSION(2); public static UInt32 NV_MOSAIC_DISPLAY_TOPO_STATUS_V1_VER = MAKE_NVAPI_VERSION(1); public static UInt32 NV_GPU_DISPLAYIDS_V2_VER = MAKE_NVAPI_VERSION(3); // NOTE: There is a bug in R470 that sets the NV_GPU_DISPLAYIDS_V2 version to 3! @@ -2078,6 +2176,7 @@ namespace DisplayMagicianShared.NVIDIA GetDelegate(NvId_DISP_GetGDIPrimaryDisplayId, out DISP_GetGDIPrimaryDisplayIdInternal); GetDelegate(NvId_Disp_GetHdrCapabilities, out Disp_GetHdrCapabilitiesInternal); GetDelegate(NvId_Disp_HdrColorControl, out Disp_HdrColorControlInternal); + GetDelegate(NvId_Disp_ColorControl, out Disp_ColorControlInternal); /*GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternal); GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternalNull); // null version of the submission*/ GetDelegate(NvId_DISP_GetDisplayIdByDisplayName, out DISP_GetDisplayIdByDisplayNameInternal); @@ -4017,6 +4116,26 @@ namespace DisplayMagicianShared.NVIDIA return status; } + //NVAPI_INTERFACE NvAPI_Disp_ColorControl(__in NvU32 displayId, __inout NV_HDR_COLOR_DATA *pHdrColorData); + private delegate NVAPI_STATUS Disp_ColorControlDelegate( + [In] UInt32 displayId, + [In][Out] ref NV_COLOR_DATA_V5 colorData); + private static readonly Disp_ColorControlDelegate Disp_ColorControlInternal; + /// + //! This API gets and sets the color capabilities of the display. + /// + /// + /// + public static NVAPI_STATUS NvAPI_Disp_ColorControl(UInt32 displayId, ref NV_COLOR_DATA_V5 colorData) + { + NVAPI_STATUS status; + colorData.Version = NVImport.NV_COLOR_DATA_V5_VER; + if (Disp_ColorControlInternal != null) { status = Disp_ColorControlInternal(displayId, ref colorData); } + else { status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; } + + return status; + } + //NVAPI_INTERFACE NvAPI_GPU_GetFullName(NvPhysicalGpuHandle hPhysicalGpu, NvAPI_ShortString szName); private delegate NVAPI_STATUS GPU_GetFullNameDelegate( [In] PhysicalGpuHandle gpuHandle, diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 98fa7dd..035e09e 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -70,6 +70,24 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NVIDIA_HDR_CONFIG lhs, NVIDIA_HDR_CONFIG rhs) => !(lhs == rhs); } + [StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_COLOR_CONFIG : IEquatable + { + public Dictionary ColorData; + + public override bool Equals(object obj) => obj is NVIDIA_COLOR_CONFIG other && this.Equals(other); + public bool Equals(NVIDIA_COLOR_CONFIG other) + => ColorData.SequenceEqual(other.ColorData); + + public override int GetHashCode() + { + return (ColorData).GetHashCode(); + } + public static bool operator ==(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); + } + /*[StructLayout(LayoutKind.Sequential)] public struct NVIDIA_WINDOWS_DISPLAY_CONFIG : IEquatable { @@ -94,17 +112,19 @@ namespace DisplayMagicianShared.NVIDIA { public NVIDIA_MOSAIC_CONFIG MosaicConfig; public NVIDIA_HDR_CONFIG HdrConfig; + public NVIDIA_COLOR_CONFIG ColorConfig; // Note: We purposely have left out the DisplayNames from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. - public Dictionary DisplayNames; + public Dictionary DisplayNames; public List DisplayIdentifiers; public override bool Equals(object obj) => obj is NVIDIA_DISPLAY_CONFIG other && this.Equals(other); - + public bool Equals(NVIDIA_DISPLAY_CONFIG other) => MosaicConfig.Equals(other.MosaicConfig) && HdrConfig.Equals(other.HdrConfig) && + ColorConfig.Equals(other.ColorConfig) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() @@ -128,6 +148,7 @@ namespace DisplayMagicianShared.NVIDIA private bool _initialised = false; private bool _haveSessionHandle = false; + private bool _haveActiveDisplayConfig = false; // To detect redundant calls private bool _disposed = false; @@ -135,6 +156,7 @@ namespace DisplayMagicianShared.NVIDIA // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); private IntPtr _nvapiSessionHandle = IntPtr.Zero; + private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; static NVIDIALibrary() { } public NVIDIALibrary() @@ -193,12 +215,7 @@ namespace DisplayMagicianShared.NVIDIA catch (DllNotFoundException ex) { // If this fires, then the DLL isn't available, so we need don't try to do anything else - SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed (which it won't be if you don't have an NVIDIA card)."); - } - catch (Exception ex) - { - // If we get here then another problem happened - SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: General Exception trying to load the NVAPI DLL. This generally means you don't have the NVIDIA NVAPI driver installed (which it won't be if you don't have an NVIDIA card)"); + SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed."); } } @@ -285,6 +302,23 @@ namespace DisplayMagicianShared.NVIDIA } } + public NVIDIA_DISPLAY_CONFIG ActiveDisplayConfig + { + get + { + if (!_haveActiveDisplayConfig) + { + _activeDisplayConfig = GetActiveConfig(); + _haveActiveDisplayConfig = true; + } + return _activeDisplayConfig; + } + set + { + _activeDisplayConfig = value; + } + } + public static NVIDIALibrary GetLibrary() { @@ -302,6 +336,7 @@ namespace DisplayMagicianShared.NVIDIA myDefaultConfig.MosaicConfig.MosaicViewports = new List(); myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); + myDefaultConfig.ColorConfig.ColorData = new Dictionary(); myDefaultConfig.DisplayNames = new Dictionary(); myDefaultConfig.DisplayIdentifiers = new List(); @@ -658,10 +693,11 @@ namespace DisplayMagicianShared.NVIDIA } - // Time to get the HDR capabilities and settings for each display + // Time to get the color settings, HDR capabilities and settings for each display bool isNvHdrEnabled = false; Dictionary allHdrCapabilities = new Dictionary(); Dictionary allHdrColorData = new Dictionary(); + Dictionary allColorData = new Dictionary(); for (int displayIndex = 0; displayIndex < displayCount; displayIndex++) { if (allDisplays) @@ -681,7 +717,50 @@ namespace DisplayMagicianShared.NVIDIA } } + // If we've already got the details from the display, then skip it now + if (allColorData.ContainsKey(displayIds[displayIndex].DisplayId)) + { + continue; + } + // We get the Color Capabilities of the display + NV_COLOR_DATA_V5 colorData = new NV_COLOR_DATA_V5(); + // Set the command as a 'GET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_GET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + allColorData.Add(displayIds[displayIndex].DisplayId, colorData); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); + } // Now we get the HDR capabilities of the display NV_HDR_CAPABILITIES_V2 hdrCapabilities = new NV_HDR_CAPABILITIES_V2(); @@ -768,10 +847,11 @@ namespace DisplayMagicianShared.NVIDIA // Now we get the HDR colour settings of the display NV_HDR_COLOR_DATA_V2 hdrColorData = new NV_HDR_COLOR_DATA_V2(); + hdrColorData.Cmd = NV_HDR_CMD.CMD_GET; NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIds[displayIndex].DisplayId, ref hdrColorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_HdrColorControl returned OK. HDR mode is currently {hdrColorData.HdrMode.ToString("G")}."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_HdrColorControl returned OK. HDR mode is set to {hdrColorData.HdrMode.ToString("G")}."); if (hdrColorData.HdrMode != NV_HDR_MODE.OFF) { isNvHdrEnabled = true; @@ -808,6 +888,7 @@ namespace DisplayMagicianShared.NVIDIA myDisplayConfig.HdrConfig.IsNvHdrEnabled = isNvHdrEnabled; myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; + myDisplayConfig.ColorConfig.ColorData = allColorData; } @@ -1065,6 +1146,19 @@ namespace DisplayMagicianShared.NVIDIA } // Start printing out things + stringToReturn += $"\n****** NVIDIA COLOR CONFIG *******\n"; + foreach (KeyValuePair colorData in displayConfig.ColorConfig.ColorData) + { + string displayId = colorData.Key.ToString(); + stringToReturn += $"Display {displayId} BPC is {colorData.Value.Bpc.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} ColorFormat is {colorData.Value.ColorFormat.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} Colorimetry is {colorData.Value.Colorimetry.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} ColorSelectionPolicy is {colorData.Value.ColorSelectionPolicy.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} Depth is {colorData.Value.Depth.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} DynamicRange is {colorData.Value.DynamicRange.ToString("G")}.\n"; + } + + // Start printing out HDR things stringToReturn += $"\n****** NVIDIA HDR CONFIG *******\n"; if (displayConfig.HdrConfig.IsNvHdrEnabled) { @@ -1146,8 +1240,6 @@ namespace DisplayMagicianShared.NVIDIA { NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - // We want to get the current config - NVIDIA_DISPLAY_CONFIG currentDisplayConfig = GetNVIDIADisplayConfig(); // We want to check the NVIDIA Surround (Mosaic) config is valid SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Testing whether the display configuration is valid"); @@ -1206,7 +1298,7 @@ namespace DisplayMagicianShared.NVIDIA } } - else if (!displayConfig.MosaicConfig.IsMosaicEnabled && currentDisplayConfig.MosaicConfig.IsMosaicEnabled) + else if (!displayConfig.MosaicConfig.IsMosaicEnabled && ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) { // We are on a Mosaic profile now, and we need to change to a non-Mosaic profile // We need to disable the Mosaic Topology @@ -1257,21 +1349,31 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); } } - else if (!displayConfig.MosaicConfig.IsMosaicEnabled && !currentDisplayConfig.MosaicConfig.IsMosaicEnabled) + else if (!displayConfig.MosaicConfig.IsMosaicEnabled && !ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) { // We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile // so there is nothing to do as far as NVIDIA is concerned! SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile so there is nothing to do as far as NVIDIA is concerned!"); } - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); - System.Threading.Thread.Sleep(500); + } + return true; + } + + public bool SetActiveConfigOverride(NVIDIA_DISPLAY_CONFIG displayConfig) + { + + if (_initialised) + { + + NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; // Now, we have the current HDR settings, and the existing HDR settings, so we go through and we attempt to set each display color settings foreach (var wantedHdrColorData in displayConfig.HdrConfig.HdrColorData) { // Now we set the HDR colour settings of the display NV_HDR_COLOR_DATA_V2 hdrColorData = wantedHdrColorData.Value; + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; NVStatus = NVImport.NvAPI_Disp_HdrColorControl(wantedHdrColorData.Key, ref hdrColorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { @@ -1303,6 +1405,51 @@ namespace DisplayMagicianShared.NVIDIA } } + //SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); + //System.Threading.Thread.Sleep(500); + + // Now, we have the current color settings to set, so we go through and we attempt to set each display color settings + foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) + { + // Now we set the colour settings of the display (non-HDR settings) + NV_COLOR_DATA_V5 colorData = wantedColorData.Value; + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); + } + } + } else { @@ -1319,11 +1466,11 @@ namespace DisplayMagicianShared.NVIDIA { // Get the current windows display configs to compare to the one we loaded bool allDisplays = false; - NVIDIA_DISPLAY_CONFIG currentDisplayConfig = GetNVIDIADisplayConfig(allDisplays); + _activeDisplayConfig = GetNVIDIADisplayConfig(allDisplays); // Check whether the display config is in use now SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: Checking whether the display configuration is already being used."); - if (displayConfig.Equals(currentDisplayConfig)) + if (displayConfig.Equals(_activeDisplayConfig)) { SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentDisplayConfig"); return true; @@ -1809,7 +1956,7 @@ namespace DisplayMagicianShared.NVIDIA // We want to skip this display as it is non-active, and we only want active displays continue; } - + // Now we try to get the GPU and Output ID from the DisplayID PhysicalGpuHandle physicalGpu = new PhysicalGpuHandle(); diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 766d164..a311708 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -519,7 +519,7 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DISPLAYCONFIG_PATH_SOURCE_INFO other && this.Equals(other); public bool Equals(DISPLAYCONFIG_PATH_SOURCE_INFO other) => // AdapterId.Equals(other.AdapterId) && // Removed the AdapterId from the Equals, as it changes after a reboot. - //Id == other.Id && // Removed the ID from the list as the Display ID it maps to will change after a switch from surround to non-surround profile + //Id == other.Id && // Removed the ID from the list as the Display ID it maps to will change after a switch from surround to non-surround profile ModeInfoIdx == other.ModeInfoIdx && StatusFlags.Equals(other.StatusFlags); diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 02501d8..685e9d7 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -736,7 +736,7 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White Level: {whiteLevelInfo.SDRWhiteLevel} for target {path.TargetInfo.Id}."); - stringToReturn += $"****** Interrogating SDR Whilte Level for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $"****** Interrogating SDR White Level for Display {path.TargetInfo.Id} *******\n"; stringToReturn += $" SDR White Level: {whiteLevelInfo.SDRWhiteLevel}\n"; stringToReturn += $"\n"; } From 8d060edf83d8e9bf4875c0658173a46d37dd6c9d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 7 Oct 2021 21:15:14 +1300 Subject: [PATCH 007/112] Updated ProfileItem so it applies overrides later Updated the profile so that it applies the new split video application process properly to DisplayMagician profiles. Should fix #45 (we shall soon see). --- DisplayMagicianShared/ProfileItem.cs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 6320fe1..4d7946f 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -701,8 +701,17 @@ namespace DisplayMagicianShared bool itWorkedforWindows = winLibrary.SetActiveConfig(_windowsDisplayConfig); if (itWorkedforWindows) { - SharedLogger.logger.Trace($"ProfileRepository/SetActive: The Windows CCD display settings within profile {Name} were successfully applied."); - return true; + bool itWorkedforNVIDIAColor = NVIDIALibrary.GetLibrary().SetActiveConfigOverride(_nvidiaDisplayConfig); + + if (itWorkedforNVIDIAColor) + { + SharedLogger.logger.Trace($"NVIDIAInfo/loadFromFile: The NVIDIA display settings that override windows within the profile {Name} were successfully applied."); + return true; + } + else + { + SharedLogger.logger.Trace($"NVIDIAInfo/loadFromFile: The NVIDIA display settings that override windows within the profile {Name} were NOT applied correctly."); + } } else { @@ -753,8 +762,17 @@ namespace DisplayMagicianShared bool itWorkedforWindows = winLibrary.SetActiveConfig(_windowsDisplayConfig); if (itWorkedforWindows) { - SharedLogger.logger.Trace($"ProfileRepository/SetActive: The Windows CCD display settings within profile {Name} were successfully applied."); - return true; + bool itWorkedforAMDColor = AMDLibrary.GetLibrary().SetActiveConfigOverride(_amdDisplayConfig); + + if (itWorkedforAMDColor) + { + SharedLogger.logger.Trace($"AMDInfo/loadFromFile: The AMD display settings that override windows within the profile {Name} were successfully applied."); + return true; + } + else + { + SharedLogger.logger.Trace($"AMDInfo/loadFromFile: The AMD display settings that override windows within the profile {Name} were NOT applied correctly."); + } } else { From c5b06988dd0437dbf28dcef45e38945b26785a67 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 9 Oct 2021 18:42:50 +1300 Subject: [PATCH 008/112] Fixed broken apply profile logic Changed an AND to a NAND and now it works. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 51 +++++++-- DisplayMagicianShared/ProfileItem.cs | 5 +- DisplayMagicianShared/ProfileRepository.cs | 115 ++++++++++++++++++++- 4 files changed, 160 insertions(+), 15 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 05e5439..199f48f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.75")] -[assembly: AssemblyFileVersion("2.0.1.75")] +[assembly: AssemblyVersion("2.0.1.89")] +[assembly: AssemblyFileVersion("2.0.1.89")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index 37d85c3..b1edbf3 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -402,15 +402,27 @@ namespace DisplayMagician #pragma warning disable IDE0059 // Unnecessary assignment of a value List shortcuts = new List(); #pragma warning restore IDE0059 // Unnecessary assignment of a value + + List jsonErrors = new List(); try { - _allShortcuts = JsonConvert.DeserializeObject>(json, new JsonSerializerSettings + + + JsonSerializerSettings mySerializerSettings = new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Ignore, NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Include, - TypeNameHandling = TypeNameHandling.Auto - }); + TypeNameHandling = TypeNameHandling.Auto, + Error = delegate (object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) + { + jsonErrors.Add($"JSON.net Error: {args.ErrorContext.Error.Source}:{args.ErrorContext.Error.StackTrace} - {args.ErrorContext.Error.Message} | InnerException:{args.ErrorContext.Error.InnerException.Source}:{args.ErrorContext.Error.InnerException.StackTrace} - {args.ErrorContext.Error.InnerException.Message}"); + args.ErrorContext.Handled = true; + }, + }; + + _allShortcuts = JsonConvert.DeserializeObject>(json, mySerializerSettings); + } catch (Exception ex) { @@ -418,6 +430,15 @@ namespace DisplayMagician throw new Exception("ShortcutRepository/LoadShortcuts: Tried to parse the JSON in the {_shortcutStorageJsonFileName} but the JsonConvert threw an exception. There is an error in the SHortcut JSON file!"); } + // If we have any JSON.net errors, then we need to records them in the logs + if (jsonErrors.Count > 0) + { + foreach (string jsonError in jsonErrors) + { + logger.Error($"ShortcutRepository/LoadShortcuts: {jsonErrors}"); + } + } + // Lookup all the Profile Names in the Saved Profiles // and link the profiles to the Shortcuts as we only // store the profile names to allow users to uodate profiles @@ -499,17 +520,24 @@ namespace DisplayMagician } + List jsonErrors = new List(); + try { logger.Debug($"ShortcutRepository/SaveShortcuts: Converting the objects to JSON format."); - var json = JsonConvert.SerializeObject(_allShortcuts, Formatting.Indented, new JsonSerializerSettings + JsonSerializerSettings mySerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include, DefaultValueHandling = DefaultValueHandling.Populate, - TypeNameHandling = TypeNameHandling.Auto - - }); + TypeNameHandling = TypeNameHandling.Auto, + Error = delegate (object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) + { + jsonErrors.Add($"JSON.net Error: {args.ErrorContext.Error.Source}:{args.ErrorContext.Error.StackTrace} - {args.ErrorContext.Error.Message} | InnerException:{args.ErrorContext.Error.InnerException.Source}:{args.ErrorContext.Error.InnerException.StackTrace} - {args.ErrorContext.Error.InnerException.Message}"); + args.ErrorContext.Handled = true; + }, + }; + var json = JsonConvert.SerializeObject(_allShortcuts, Formatting.Indented, mySerializerSettings); if (!string.IsNullOrWhiteSpace(json)) @@ -525,6 +553,15 @@ namespace DisplayMagician logger.Error(ex, $"ShortcutRepository/SaveShortcuts: Unable to save the shortcut repository to the {_shortcutStorageJsonFileName}."); } + // If we have any JSON.net errors, then we need to records them in the logs + if (jsonErrors.Count > 0) + { + foreach (string jsonError in jsonErrors) + { + logger.Error($"ProfileRepository/SaveProfiles: {jsonErrors}"); + } + } + return false; } diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 4d7946f..7842d09 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -681,7 +681,7 @@ namespace DisplayMagicianShared WinLibrary winLibrary = WinLibrary.GetLibrary(); if (nvidiaLibrary.IsInstalled) { - if (!nvidiaLibrary.IsActiveConfig(_nvidiaDisplayConfig) && !winLibrary.IsActiveConfig(_windowsDisplayConfig)) + if (!(nvidiaLibrary.IsActiveConfig(_nvidiaDisplayConfig) && winLibrary.IsActiveConfig(_windowsDisplayConfig))) { if (nvidiaLibrary.IsPossibleConfig(_nvidiaDisplayConfig)) { @@ -742,7 +742,7 @@ namespace DisplayMagicianShared WinLibrary winLibrary = WinLibrary.GetLibrary(); if (amdLibrary.IsInstalled) { - if (!amdLibrary.IsActiveConfig(_amdDisplayConfig) && !winLibrary.IsActiveConfig(_windowsDisplayConfig)) + if (!(amdLibrary.IsActiveConfig(_amdDisplayConfig) && winLibrary.IsActiveConfig(_windowsDisplayConfig))) { if (amdLibrary.IsPossibleConfig(_amdDisplayConfig)) { @@ -1542,6 +1542,7 @@ namespace DisplayMagicianShared { return (Name ?? Language.UN_TITLED_PROFILE); } + } } diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 00dcd0d..ec773a1 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -11,6 +11,7 @@ using DisplayMagicianShared.AMD; using DisplayMagicianShared.NVIDIA; using DisplayMagicianShared.Windows; using System.Runtime.Serialization; +using Newtonsoft.Json.Linq; namespace DisplayMagicianShared { @@ -693,11 +694,17 @@ namespace DisplayMagicianShared SharedLogger.logger.Error(ex, $"ProfileRepository/LoadProfiles: Tried to read the JSON file {_profileStorageJsonFileName} to memory but File.ReadAllTextthrew an exception."); } + // Migrate any previous entries to the latest version of the file format to the latest one + json = MigrateJsonToLatestVersion(json); + + if (!string.IsNullOrWhiteSpace(json)) { + List jsonErrors = new List(); + try { - _allProfiles = JsonConvert.DeserializeObject>(json, new JsonSerializerSettings + JsonSerializerSettings mySerializerSettings = new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error, NullValueHandling = NullValueHandling.Include, @@ -706,13 +713,33 @@ namespace DisplayMagicianShared //DefaultValueHandling = DefaultValueHandling.Ignore, TypeNameHandling = TypeNameHandling.Auto, ObjectCreationHandling = ObjectCreationHandling.Replace, - }); + + Error = delegate (object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) + { + jsonErrors.Add($"JSON.net Error: {args.ErrorContext.Error.Source}:{args.ErrorContext.Error.StackTrace} - {args.ErrorContext.Error.Message} | InnerException:{args.ErrorContext.Error.InnerException.Source}:{args.ErrorContext.Error.InnerException.StackTrace} - {args.ErrorContext.Error.InnerException.Message}"); + args.ErrorContext.Handled = true; + }, + }; + _allProfiles = JsonConvert.DeserializeObject>(json, mySerializerSettings); + } catch (Exception ex) { SharedLogger.logger.Error(ex, $"ProfileRepository/LoadProfiles: Tried to parse the JSON in the {_profileStorageJsonFileName} but the JsonConvert threw an exception."); } + // If we have any JSON.net errors, then we need to records them in the logs + if (jsonErrors.Count > 0) + { + foreach (string jsonError in jsonErrors) + { + SharedLogger.logger.Error($"ProfileRepository/LoadProfiles: {jsonErrors}"); + } + } + + // We need to try and + + SharedLogger.logger.Debug($"ProfileRepository/LoadProfiles: Finding the current profile in the Profile Repository"); // Go through all the profiles and set up the needed structures (such as the Screens list) @@ -749,6 +776,68 @@ namespace DisplayMagicianShared IsPossibleRefresh(); return true; + } + + public static string MigrateJsonToLatestVersion(string json) + { + + bool changedJson = false; + JArray root = new JArray(); + try + { + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Processing the Profiles json data to migrate any older feature to the latest version."); + root = JArray.Parse(json); + } + catch(JsonReaderException ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: JSONReaderException while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + catch(Exception ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + + + // Now we try and add a default NVIDIA Color Settings if there isn't one + try + { + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing NVIDIA Color Config."); + + // Create a default object + NVIDIA_DISPLAY_CONFIG myDefaultConfig = new NVIDIA_DISPLAY_CONFIG(); + myDefaultConfig.ColorConfig.ColorData = new Dictionary(); + JObject defaultColorConfig = (JObject)JToken.FromObject(myDefaultConfig.ColorConfig); + + for (int i=0; i < root.Count; i++) + { + JObject profile = (JObject)root[i]; + JObject result = (JObject)profile.SelectToken("NVIDIADisplayConfig.ColorConfig.ColorData"); + if (result == null) + { + + JObject NVIDIADisplayConfig = (JObject)profile.SelectToken("NVIDIADisplayConfig"); + NVIDIADisplayConfig.Add("ColorConfig",defaultColorConfig); + changedJson = true; + } + } + } + catch (JsonReaderException ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: JSONReaderException while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + catch (Exception ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + + // Now write the changed json to the json string but only if we've changed something + if (changedJson) + { + json = root.ToString(Formatting.Indented); + } + + + return json; } public static bool SaveProfiles() @@ -782,11 +871,14 @@ namespace DisplayMagicianShared { SharedLogger.logger.Debug($"ProfileRepository/SaveProfiles: Profiles folder {AppProfileStoragePath} exists."); } + + List jsonErrors = new List(); + try { SharedLogger.logger.Debug($"ProfileRepository/SaveProfiles: Converting the objects to JSON format."); - var json = JsonConvert.SerializeObject(_allProfiles, Formatting.Indented, new JsonSerializerSettings + JsonSerializerSettings mySerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include, //NullValueHandling = NullValueHandling.Ignore, @@ -795,7 +887,13 @@ namespace DisplayMagicianShared TypeNameHandling = TypeNameHandling.Auto, MissingMemberHandling = MissingMemberHandling.Error, ObjectCreationHandling = ObjectCreationHandling.Replace, - }); + Error = delegate (object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) + { + jsonErrors.Add($"JSON.net Error: {args.ErrorContext.Error.Source}:{args.ErrorContext.Error.StackTrace} - {args.ErrorContext.Error.Message} | InnerException:{args.ErrorContext.Error.InnerException.Source}:{args.ErrorContext.Error.InnerException.StackTrace} - {args.ErrorContext.Error.InnerException.Message}"); + args.ErrorContext.Handled = true; + }, + }; + var json = JsonConvert.SerializeObject(_allProfiles, Formatting.Indented, mySerializerSettings); if (!string.IsNullOrWhiteSpace(json)) @@ -811,6 +909,15 @@ namespace DisplayMagicianShared SharedLogger.logger.Error(ex, $"ProfileRepository/SaveProfiles: Unable to save the profile repository to the {_profileStorageJsonFileName}."); } + // If we have any JSON.net errors, then we need to records them in the logs + if (jsonErrors.Count > 0) + { + foreach (string jsonError in jsonErrors) + { + SharedLogger.logger.Error($"ProfileRepository/SaveProfiles: {jsonErrors}"); + } + } + return false; } From 6445140924d7c0538279f0d7b5e339db0c9ff07c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 9 Oct 2021 19:45:53 +1300 Subject: [PATCH 009/112] Forced TRACE level logging while dev happening I've set this as it was too onerous continuously teaching people how to turn on TRACE logging. While there are a large number of big changes taking place with DisplayMagician, this will minimise the backwards and forwards it takes to get the right level of log information for me to troubleshoot each issue. --- DisplayMagician/Program.cs | 10 +++++++--- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index adaa703..53496f2 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -105,7 +105,7 @@ namespace DisplayMagician { AppProgramSettings = ProgramSettings.LoadSettings(); // Rules for mapping loggers to targets - NLog.LogLevel logLevel = null; + /*NLog.LogLevel logLevel = null; switch (AppProgramSettings.LogLevel) { case "Trace": @@ -126,8 +126,12 @@ namespace DisplayMagician { default: logLevel = NLog.LogLevel.Info; break; - } - + }*/ + // TODO - remove this temporary action to force Trace level logging + // I've set this as it was too onerous continuously teaching people how to turn on TRACE logging + // While there are a large number of big changes taking place with DisplayMagician, this will minimise + // the backwards and forwards it takes to get the right level of log information for me to troubleshoot. + NLog.LogLevel logLevel = NLog.LogLevel.Trace; // Create the log file target var logfile = new NLog.Targets.FileTarget("logfile") diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 199f48f..8435ac7 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.89")] -[assembly: AssemblyFileVersion("2.0.1.89")] +[assembly: AssemblyVersion("2.0.1.90")] +[assembly: AssemblyFileVersion("2.0.1.90")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From e41279d706537bcd219fc9581ed6b252e4fc2031 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 9 Oct 2021 19:58:22 +1300 Subject: [PATCH 010/112] Improved NVIDIALIbrary SetActiveOverride function It now only applies configuration changes if they are needed to be applied. If the colour settings are the same then they aren't applied. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 305 ++++++++++-------- DisplayMagicianShared/ProfileItem.cs | 4 +- DisplayMagicianShared/Windows/CCD.cs | 2 +- 4 files changed, 168 insertions(+), 147 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8435ac7..845fc19 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.90")] -[assembly: AssemblyFileVersion("2.0.1.90")] +[assembly: AssemblyVersion("2.0.1.91")] +[assembly: AssemblyFileVersion("2.0.1.91")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 035e09e..6f21662 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -689,7 +689,7 @@ namespace DisplayMagicianShared.NVIDIA } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); } @@ -730,7 +730,7 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); allColorData.Add(displayIds[displayIndex].DisplayId, colorData); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) @@ -894,86 +894,6 @@ namespace DisplayMagicianShared.NVIDIA } - /*// Get the NVIDIA Windows Display Config too - // Figure out how many pathInfo objects there are - uint pathInfoCount = 0; - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK. We know we have {pathInfoCount} pathInfo objects to get"); - } - - // Now get the number of targetInfoCount for each returned pathInfoCount object - NV_DISPLAYCONFIG_PATH_INFO_V1[] pathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V1[pathInfoCount]; - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - - // Now we send the same partially filled object back in a third time to get the target information - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos, true); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus}"); - }*/ - // Now we need to loop through each of the windows paths so we can record the Windows DisplayName to DisplayID mapping // This is needed for us to piece together the Screen layout for when we draw the NVIDIA screens! @@ -1368,93 +1288,194 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; + // Now, we have to turn off any BEST_QUALITY mode settings we need to set. We have to do this before setting the HDR settings so that these settings will be applied properly + foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) + { + // Now we set the colour settings of the display (non-HDR settings) + NV_COLOR_DATA_V5 colorData = wantedColorData.Value; + + // Only change this color setting if we're on a different setting from the one we want, and it's turning off the USER made settings + // We'll do the turning USER override on as a separate step after the HDR is set + if (!colorData.Equals(ActiveDisplayConfig.ColorConfig.ColorData[wantedColorData.Key]) && colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY) + { + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested color setting is the same as the current color setting for the {wantedColorData.Key} display, so skipping setting it."); + } + + } + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); + System.Threading.Thread.Sleep(500); + // Now, we have the current HDR settings, and the existing HDR settings, so we go through and we attempt to set each display color settings foreach (var wantedHdrColorData in displayConfig.HdrConfig.HdrColorData) { // Now we set the HDR colour settings of the display NV_HDR_COLOR_DATA_V2 hdrColorData = wantedHdrColorData.Value; - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(wantedHdrColorData.Key, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // Only change this HDR color setting if we're on a different setting from the one we want + if (!hdrColorData.Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[wantedHdrColorData.Key])) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(wantedHdrColorData.Key, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedHdrColorData.Key} doesn't support HDR."); + } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedHdrColorData.Key} doesn't support HDR."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested HDR setting is the same as the current HDR setting for the {wantedHdrColorData.Key} display, so skipping setting it."); } + } - //SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); - //System.Threading.Thread.Sleep(500); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA Color user override settings"); + System.Threading.Thread.Sleep(500); - // Now, we have the current color settings to set, so we go through and we attempt to set each display color settings + + // Now, we have to turn on any USER mode settings we need to turn on so they override the HDR settings. We have to do this after setting the HDR settings so that these settings will be applied properly foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) { // Now we set the colour settings of the display (non-HDR settings) NV_COLOR_DATA_V5 colorData = wantedColorData.Value; - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + + // Only change this color setting if we're on a different setting from the one we want, and it's turning off the USER made settings + // We'll do the turning USER override on as a separate step after the HDR is set + if (!colorData.Equals(ActiveDisplayConfig.ColorConfig.ColorData[wantedColorData.Key]) && colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); + } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested color setting is the same as the current color setting for the {wantedColorData.Key} display, so skipping setting it."); } + } } else { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: ERROR - Tried to run SetActiveConfig but the NVIDIA NVAPI library isn't initialised!"); - throw new NVIDIALibraryException($"Tried to run SetActiveConfig but the NVIDIA NVAPI library isn't initialised!"); + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfigOverride: ERROR - Tried to run SetActiveConfig but the NVIDIA NVAPI library isn't initialised!"); + throw new NVIDIALibraryException($"Tried to run SetActiveConfigOverride but the NVIDIA NVAPI library isn't initialised!"); } diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 7842d09..87ab42b 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -701,7 +701,7 @@ namespace DisplayMagicianShared bool itWorkedforWindows = winLibrary.SetActiveConfig(_windowsDisplayConfig); if (itWorkedforWindows) { - bool itWorkedforNVIDIAColor = NVIDIALibrary.GetLibrary().SetActiveConfigOverride(_nvidiaDisplayConfig); + bool itWorkedforNVIDIAColor = nvidiaLibrary.SetActiveConfigOverride(_nvidiaDisplayConfig); if (itWorkedforNVIDIAColor) { @@ -762,7 +762,7 @@ namespace DisplayMagicianShared bool itWorkedforWindows = winLibrary.SetActiveConfig(_windowsDisplayConfig); if (itWorkedforWindows) { - bool itWorkedforAMDColor = AMDLibrary.GetLibrary().SetActiveConfigOverride(_amdDisplayConfig); + bool itWorkedforAMDColor = amdLibrary.SetActiveConfigOverride(_amdDisplayConfig); if (itWorkedforAMDColor) { diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index a311708..58b301e 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -393,7 +393,7 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DISPLAYCONFIG_RATIONAL other && this.Equals(other); public bool Equals(DISPLAYCONFIG_RATIONAL other) => Numerator == other.Numerator && - Denominator == other.Denominator; + Denominator == other.Denominator; public override int GetHashCode() { From 3f3518f536eb484fae6e63bde85bf7d7eab3c6f4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 10 Oct 2021 17:17:22 +1300 Subject: [PATCH 011/112] Update NVIDIALibrary from recent HDR/colour settings updates. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 510 ++++++++++++------ 2 files changed, 362 insertions(+), 152 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 845fc19..cc08480 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.91")] -[assembly: AssemblyFileVersion("2.0.1.91")] +[assembly: AssemblyVersion("2.0.1.92")] +[assembly: AssemblyFileVersion("2.0.1.92")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 6f21662..7325e6b 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -1166,55 +1166,61 @@ namespace DisplayMagicianShared.NVIDIA // if (displayConfig.MosaicConfig.IsMosaicEnabled) { - - // We need to change to a Mosaic profile, so we need to apply the new Mosaic Topology - NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Yay! The display settings provided are valid to apply! Attempting to apply them now."); - // If we get here then the display is valid, so now we actually apply the new Mosaic Topology - NVStatus = NVImport.NvAPI_Mosaic_SetDisplayGrids(displayConfig.MosaicConfig.MosaicGridTopos, displayConfig.MosaicConfig.MosaicGridCount, setTopoFlags); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + if (displayConfig.MosaicConfig.Equals(ActiveDisplayConfig.MosaicConfig)) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is exactly the same as the one we want, so skipping applying the Mosaic config"); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Display Grids! NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + // We need to change to a Mosaic profile, so we need to apply the new Mosaic Topology + NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is different as the one we want, so applying the Mosaic config now"); + // If we get here then the display is valid, so now we actually apply the new Mosaic Topology + NVStatus = NVImport.NvAPI_Mosaic_SetDisplayGrids(displayConfig.MosaicConfig.MosaicGridTopos, displayConfig.MosaicConfig.MosaicGridCount, setTopoFlags); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Display Grids! NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } } } @@ -1288,7 +1294,7 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - // Now, we have to turn off any BEST_QUALITY mode settings we need to set. We have to do this before setting the HDR settings so that these settings will be applied properly + /*// Now, we have to turn off any BEST_QUALITY mode settings we need to set. We have to do this before setting the HDR settings so that these settings will be applied properly foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) { // Now we set the colour settings of the display (non-HDR settings) @@ -1306,7 +1312,7 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); switch (colorData.ColorSelectionPolicy) { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); break; case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 @@ -1350,123 +1356,327 @@ namespace DisplayMagicianShared.NVIDIA { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested color setting is the same as the current color setting for the {wantedColorData.Key} display, so skipping setting it."); } + + }*/ - } - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); + /*SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); System.Threading.Thread.Sleep(500); +*/ - // Now, we have the current HDR settings, and the existing HDR settings, so we go through and we attempt to set each display color settings - foreach (var wantedHdrColorData in displayConfig.HdrConfig.HdrColorData) + // Firstly see if we're in Mosaic Mode or not + if (displayConfig.MosaicConfig.IsMosaicEnabled) { - // Now we set the HDR colour settings of the display - NV_HDR_COLOR_DATA_V2 hdrColorData = wantedHdrColorData.Value; - // Only change this HDR color setting if we're on a different setting from the one we want - if (!hdrColorData.Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[wantedHdrColorData.Key])) + // In Mosaic mode (one giant screen) + // NVIDIA force custom colour settings when in Mosaic mode, so that's what we're doing + // Now we try to set each display, at a time (using the HDR Config dictionary as a size guide) + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(wantedHdrColorData.Key, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + UInt32 displayId = hdrColorDataDict.Key; + // First up we need to check if this HDR display + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedHdrColorData.Key} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested HDR setting is the same as the current HDR setting for the {wantedHdrColorData.Key} display, so skipping setting it."); - } - - } - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA Color user override settings"); - System.Threading.Thread.Sleep(500); - - - // Now, we have to turn on any USER mode settings we need to turn on so they override the HDR settings. We have to do this after setting the HDR settings so that these settings will be applied properly - foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) - { - // Now we set the colour settings of the display (non-HDR settings) - NV_COLOR_DATA_V5 colorData = wantedColorData.Value; - - // Only change this color setting if we're on a different setting from the one we want, and it's turning off the USER made settings - // We'll do the turning USER override on as a separate step after the HDR is set - if (!colorData.Equals(ActiveDisplayConfig.ColorConfig.ColorData[wantedColorData.Key]) && colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER) - { - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a non-HDR mode for display {displayId}."); + // if it's not an HDR then we turn off HDR, and set the normal colour settings + // Only turn off HDR if it's not the same as now + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping turning off HDR Mode for display {displayId} as it's already off."); + } + + // Now apply the standard colour config, but only if it's different + if (!displayConfig.ColorConfig.ColorData[displayId].Equals(ActiveDisplayConfig.ColorConfig.ColorData[displayId])) + { + NV_COLOR_DATA_V5 colorData = displayConfig.ColorConfig.ColorData[displayId]; + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying non-HDR colour settings for display {displayId} as they are already set."); + } + } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a HDR mode for display {displayId}."); + // if it's HDR then we just set the HDR colour + if (!displayConfig.HdrConfig.HdrColorData[displayId].Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[displayId])) + { + // Apply the HDR colour + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying HDR settings for display {displayId} as they are already set."); + } + } } - else + } + else + { + // In non-Mosaic mode (individual screens) + // Now we try to set each display, at a time (using the HDR Config dictionary as a size guide) + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested color setting is the same as the current color setting for the {wantedColorData.Key} display, so skipping setting it."); + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + UInt32 displayId = hdrColorDataDict.Key; + // First up we need to check if this HDR display + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a non-HDR mode for display {displayId}."); + // if it's not an HDR then we turn off HDR, and set the normal colour settings + // Only turn off HDR if it's not the same as now + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) + { + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping turning off HDR Mode for display {displayId} as it's already off."); + } + + // Now apply the standard colour config, but only if it's different + if (!displayConfig.ColorConfig.ColorData[displayId].Equals(ActiveDisplayConfig.ColorConfig.ColorData[displayId])) + { + NV_COLOR_DATA_V5 colorData = displayConfig.ColorConfig.ColorData[displayId]; + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying non-HDR colour settings for display {displayId} as they are already set."); + } + + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a HDR mode for display {displayId}."); + // if it's HDR then we just set the HDR colour + if (!displayConfig.HdrConfig.HdrColorData[displayId].Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[displayId])) + { + // Apply the HDR colour + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying HDR settings for display {displayId} as they are already set."); + } + + } } } From a9527ffd6e76b64d3d35b53fc8ff6ba50ef59886 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 11 Oct 2021 21:13:58 +1300 Subject: [PATCH 012/112] Better logging for Loading Games Action exceptions --- DisplayMagician/Program.cs | 6 +++++- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 53496f2..21e3f57 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -918,7 +918,11 @@ namespace DisplayMagician { } catch (AggregateException ae) { - logger.Error(ae, $"Program/LoadGamesInBackground exception during loadGamesActions"); + logger.Error(ae, $"Program/LoadGamesInBackground: One or more exception during execution of loadGamesActions"); + foreach (Exception ex in ae.InnerExceptions) + { + logger.Error(ex, $"Program/LoadGamesInBackground: LoadGamesActions exception:"); + } } // Produce a single array of Games we can reference later diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index cc08480..7d2074f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.92")] -[assembly: AssemblyFileVersion("2.0.1.92")] +[assembly: AssemblyVersion("2.0.1.95")] +[assembly: AssemblyFileVersion("2.0.1.95")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 4a8acd4b863f298437a5c6b9b8b493ba1d58ac21 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 15 Oct 2021 10:01:21 +1300 Subject: [PATCH 013/112] Updated WinLibrary with latest GDI API changes This will hopefully fix the issues #45 and #46. --- .../DisplayMagicianShared.csproj | 1 + DisplayMagicianShared/Windows/CCD.cs | 2 +- DisplayMagicianShared/Windows/GDI.cs | 675 ++++++++++++++++++ DisplayMagicianShared/Windows/WinLibrary.cs | 199 +++++- 4 files changed, 873 insertions(+), 4 deletions(-) create mode 100644 DisplayMagicianShared/Windows/GDI.cs diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index e9902b1..bd68597 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -85,6 +85,7 @@ DisplayView.cs + diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 58b301e..a311708 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -393,7 +393,7 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DISPLAYCONFIG_RATIONAL other && this.Equals(other); public bool Equals(DISPLAYCONFIG_RATIONAL other) => Numerator == other.Numerator && - Denominator == other.Denominator; + Denominator == other.Denominator; public override int GetHashCode() { diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs new file mode 100644 index 0000000..9007019 --- /dev/null +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -0,0 +1,675 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace DisplayMagicianShared.Windows +{ + // 90% of this file is cribbed from WindowsDisplayAPI by Soroush Falahati + // The other 10% is from MikedouglasDev's ChangeScreenResolution + // https://github.com/mikedouglasdev/changescreenresolution/blob/master/ChangeScreenResolutionSolution/ChangeScreenResolution/SafeNativeMethods.cs + // and GemingLeader here: https://www.c-sharpcorner.com/uploadfile/GemingLeader/changing-display-settings-programmatically/ + + + public enum CHANGE_DISPLAY_RESULTS + { + /// + /// Completed successfully + /// + Successful = 0, + + /// + /// Changes needs restart + /// + Restart = 1, + + /// + /// Failed to change and save setings + /// + Failed = -1, + + /// + /// Invalid data provided + /// + BadMode = -2, + + /// + /// Changes not updated + /// + NotUpdated = -3, + + /// + /// Invalid flags provided + /// + BadFlags = -4, + + /// + /// Bad parameters provided + /// + BadParam = -5, + + /// + /// Bad Dual View mode used with mode + /// + BadDualView = -6 + } + + [Flags] + public enum CHANGE_DISPLAY_SETTINGS_FLAGS : UInt32 + { + CDS_NONE = 0, + CDS_UPDATEREGISTRY = 0x00000001, + CDS_TEST = 0x00000002, + CDS_FULLSCREEN = 0x00000004, + CDS_GLOBAL = 0x00000008, + CDS_SET_PRIMARY = 0x00000010, + CDS_VIDEOPARAMETERS = 0x00000020, + CDS_ENABLE_UNSAFE_MODES = 0x00000100, + CDS_DISABLE_UNSAFE_MODES = 0x00000200, + CDS_RESET = 0x40000000, + CDS_RESET_EX = 0x20000000, + CDS_NORESET = 0x10000000 + } + + public enum DEVICE_CAPABILITY : Int32 + { + DriverVersion = 0, + Technology = 2, + HorizontalSizeInMM = 4, + VerticalSizeInMM = 6, + HorizontalResolution = 8, + VerticalResolution = 10, + BitsPerPixel = 12, + Planes = 14, + NumberOfBrushes = 16, + NumberOfPens = 18, + NumberOfMarkers = 20, + NumberOfFonts = 22, + NumberOfColors = 24, + DeviceDescriptorSize = 26, + CurveCapabilities = 28, + LineCapabilities = 30, + PolygonalCapabilities = 32, + TextCapabilities = 34, + ClipCapabilities = 36, + RasterCapabilities = 38, + HorizontalAspect = 40, + VerticalAspect = 42, + HypotenuseAspect = 44, + //ShadeBlendingCapabilities = 45, + HorizontalLogicalPixels = 88, + VerticalLogicalPixels = 90, + PaletteSize = 104, + ReservedPaletteSize = 106, + ColorResolution = 108, + + // Printer Only + PhysicalWidth = 110, + PhysicalHeight = 111, + PhysicalHorizontalMargin = 112, + PhysicalVerticalMargin = 113, + HorizontalScalingFactor = 114, + VerticalScalingFactor = 115, + + // Display Only + VerticalRefreshRateInHz = 116, + DesktopVerticalResolution = 117, + DesktopHorizontalResolution = 118, + PreferredBLTAlignment = 119, + ShadeBlendingCapabilities = 120, + ColorManagementCapabilities = 121, + } + + [Flags] + public enum DEVICE_MODE_FIELDS : UInt32 + { + None = 0, + Position = 0x20, + DisplayOrientation = 0x80, + Color = 0x800, + Duplex = 0x1000, + YResolution = 0x2000, + TtOption = 0x4000, + Collate = 0x8000, + FormName = 0x10000, + LogPixels = 0x20000, + BitsPerPixel = 0x40000, + PelsWidth = 0x80000, + PelsHeight = 0x100000, + DisplayFlags = 0x200000, + DisplayFrequency = 0x400000, + DisplayFixedOutput = 0x20000000, + AllDisplay = Position | + DisplayOrientation | + YResolution | + BitsPerPixel | + PelsWidth | + PelsHeight | + DisplayFlags | + DisplayFrequency | + DisplayFixedOutput, + } + + [Flags] + public enum DISPLAY_DEVICE_STATE_FLAGS : UInt32 + { + /// + /// The device is part of the desktop. + /// + AttachedToDesktop = 0x1, + MultiDriver = 0x2, + + /// + /// The device is part of the desktop. + /// + PrimaryDevice = 0x4, + + /// + /// Represents a pseudo device used to mirror application drawing for remoting or other purposes. + /// + MirroringDriver = 0x8, + + /// + /// The device is VGA compatible. + /// + VGACompatible = 0x10, + + /// + /// The device is removable; it cannot be the primary display. + /// + Removable = 0x20, + + /// + /// The device has more display modes than its output devices support. + /// + ModesPruned = 0x8000000, + Remote = 0x4000000, + Disconnect = 0x2000000 + } + + public enum DISPLAY_FIXED_OUTPUT : UInt32 + { + /// + /// Default behavior + /// + Default = 0, + + /// + /// Stretches the output to fit to the display + /// + Stretch = 1, + + /// + /// Centers the output in the middle of the display + /// + Center = 2 + } + + [Flags] + public enum DISPLAY_FLAGS : UInt32 + { + None = 0, + Grayscale = 1, + Interlaced = 2 + } + + public enum DISPLAY_ORIENTATION : UInt32 + { + /// + /// No rotation + /// + Rotate0Degree = 0, + + /// + /// 90 degree rotation + /// + Rotate90Degree = 1, + + /// + /// 180 degree rotation + /// + Rotate180Degree = 2, + + /// + /// 270 degree rotation + /// + Rotate270Degree = 3 + } + + public enum DISPLAY_SETTINGS_MODE : Int32 + { + CurrentSettings = -1, // Retrieves current display mode + RegistrySettings = -2 // Retrieves current display mode stored within the registry. + } + + public enum DISPLAY_TECHNOLOGY : Int32 + { + Plotter = 0, + RasterDisplay = 1, + RasterPrinter = 2, + RasterCamera = 3, + CharacterStream = 4, + MetaFile = 5, + DisplayFile = 6, + } + + public enum MONITOR_FROM_FLAG : UInt32 + { + DefaultToNull = 0, + DefaultToPrimary = 1, + DefaultToNearest = 2, + } + + [Flags] + public enum MONITOR_INFO_FLAGS : UInt32 + { + None = 0, + Primary = 1 + } + + + + // https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565(v=vs.85).aspx + // https://www.c-sharpcorner.com/uploadfile/GemingLeader/changing-display-settings-programmatically/ + [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Ansi)] + public struct DEVICE_MODE : IEquatable + { + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + [FieldOffset(0)] + public string DeviceName; + + [MarshalAs(UnmanagedType.U2)] + [FieldOffset(32)] + public UInt16 SpecificationVersion; + + [MarshalAs(UnmanagedType.U2)] + [FieldOffset(34)] + public UInt16 DriverVersion; + + [MarshalAs(UnmanagedType.U2)] + [FieldOffset(36)] + public UInt16 Size; + + [MarshalAs(UnmanagedType.U2)] + [FieldOffset(38)] + public UInt16 DriverExtra; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(40)] + public DEVICE_MODE_FIELDS Fields; + + [MarshalAs(UnmanagedType.Struct)] + [FieldOffset(44)] + public POINTL Position; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(52)] + public DISPLAY_ORIENTATION DisplayOrientation; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(56)] + public DISPLAY_FIXED_OUTPUT DisplayFixedOutput; + + [MarshalAs(UnmanagedType.I2)] + [FieldOffset(60)] + public Int16 Color; + + [MarshalAs(UnmanagedType.I2)] + [FieldOffset(62)] + public Int16 Duplex; + + [MarshalAs(UnmanagedType.I2)] + [FieldOffset(64)] + public Int16 YResolution; + + [MarshalAs(UnmanagedType.I2)] + [FieldOffset(66)] + public Int16 TrueTypeOption; + + [MarshalAs(UnmanagedType.I2)] + [FieldOffset(68)] + public Int16 Collate; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + [FieldOffset(72)] + public string FormName; + + [MarshalAs(UnmanagedType.U2)] + [FieldOffset(102)] + public UInt16 LogicalInchPixels; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(104)] + public UInt32 BitsPerPixel; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(108)] + public UInt32 PixelsWidth; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(112)] + public UInt32 PixelsHeight; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(116)] + public DISPLAY_FLAGS DisplayFlags; + + [MarshalAs(UnmanagedType.U4)] + [FieldOffset(120)] + public UInt32 DisplayFrequency; + + public override bool Equals(object obj) => obj is DEVICE_MODE other && this.Equals(other); + + public bool Equals(DEVICE_MODE other) + => DeviceName.Equals(other.DeviceName) && + SpecificationVersion == other.SpecificationVersion && + DriverVersion.Equals(other.DriverVersion) && + Size.Equals(other.Size) && + DriverExtra.Equals(other.DriverExtra) && + Fields.Equals(other.Fields) && + Position.Equals(other.Position) && + DisplayOrientation.Equals(other.DisplayOrientation) && + DisplayFixedOutput.Equals(other.DisplayFixedOutput) && + Color.Equals(other.Color) && + Duplex.Equals(other.Duplex) && + YResolution.Equals(other.YResolution) && + TrueTypeOption.Equals(other.TrueTypeOption) && + Collate.Equals(other.Collate) && + FormName.Equals(other.FormName) && + LogicalInchPixels.Equals(other.LogicalInchPixels) && + BitsPerPixel.Equals(other.BitsPerPixel) && + PixelsWidth.Equals(other.PixelsWidth) && + PixelsHeight.Equals(other.PixelsHeight) && + DisplayFlags.Equals(other.DisplayFlags) && + DisplayFrequency == other.DisplayFrequency; + + public override int GetHashCode() + { + return (DeviceName, SpecificationVersion, DriverVersion, Size, DriverExtra, Fields, Position, DisplayOrientation, DisplayFixedOutput, Color, Duplex, + YResolution, TrueTypeOption, Collate, FormName, LogicalInchPixels, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); + } + + public static bool operator ==(DEVICE_MODE lhs, DEVICE_MODE rhs) => lhs.Equals(rhs); + + public static bool operator !=(DEVICE_MODE lhs, DEVICE_MODE rhs) => !(lhs == rhs); + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct DISPLAY_DEVICE : IEquatable + { + [MarshalAs(UnmanagedType.U4)] + public UInt32 Size; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + public string DeviceName; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string DeviceString; + + [MarshalAs(UnmanagedType.U4)] + public DISPLAY_DEVICE_STATE_FLAGS StateFlags; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string DeviceId; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string DeviceKey; + + public override bool Equals(object obj) => obj is DISPLAY_DEVICE other && this.Equals(other); + + public bool Equals(DISPLAY_DEVICE other) + => Size == other.Size && + DeviceName == other.DeviceName && + DeviceString == other.DeviceString && + StateFlags == other.StateFlags && + DeviceId == other.DeviceId && + DeviceKey == other.DeviceKey; + + public override int GetHashCode() + { + return (Size, DeviceName, DeviceString, StateFlags, DeviceId, DeviceKey).GetHashCode(); + } + + public static bool operator ==(DISPLAY_DEVICE lhs, DISPLAY_DEVICE rhs) => lhs.Equals(rhs); + + public static bool operator !=(DISPLAY_DEVICE lhs, DISPLAY_DEVICE rhs) => !(lhs == rhs); + + } + + [StructLayout(LayoutKind.Sequential)] + public struct GAMMA_RAMP : IEquatable + { + public const int DataPoints = 256; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)] + public UInt16[] Red; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)] + public UInt16[] Green; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)] + public UInt16[] Blue; + + public override bool Equals(object obj) => obj is GAMMA_RAMP other && this.Equals(other); + + public bool Equals(GAMMA_RAMP other) + => Red.SequenceEqual(other.Red) && + Green.SequenceEqual(other.Green) && + Blue.SequenceEqual(other.Blue); + + public override int GetHashCode() + { + return (Red, Green, Blue).GetHashCode(); + } + + public static bool operator ==(GAMMA_RAMP lhs, GAMMA_RAMP rhs) => lhs.Equals(rhs); + + public static bool operator !=(GAMMA_RAMP lhs, GAMMA_RAMP rhs) => !(lhs == rhs); + + } + + [StructLayout(LayoutKind.Sequential)] + public struct MONITOR_INFO : IEquatable + { + internal UInt32 Size; + public RECTL Bounds; + public RECTL WorkingArea; + public MONITOR_INFO_FLAGS Flags; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + public string DisplayName; + + public override bool Equals(object obj) => obj is MONITOR_INFO other && this.Equals(other); + + public bool Equals(MONITOR_INFO other) + => Size == other.Size && + Bounds.Equals(other.Bounds) && + WorkingArea.Equals(other.WorkingArea) && + Flags == other.Flags && + DisplayName == other.DisplayName; + + public override int GetHashCode() + { + return (Size, Bounds, WorkingArea, Flags, DisplayName).GetHashCode(); + } + + public static bool operator ==(MONITOR_INFO lhs, MONITOR_INFO rhs) => lhs.Equals(rhs); + + public static bool operator !=(MONITOR_INFO lhs, MONITOR_INFO rhs) => !(lhs == rhs); + } + + public struct GDI_DISPLAY_SETTING : IEquatable + { + public bool IsEnabled; + public bool IsPrimary; + public DISPLAY_DEVICE Device; + public DEVICE_MODE DeviceMode; + + public override bool Equals(object obj) => obj is GDI_DISPLAY_SETTING other && this.Equals(other); + + public bool Equals(GDI_DISPLAY_SETTING other) + => IsEnabled == other.IsEnabled && + IsPrimary == other.IsPrimary && + Device.Equals(other.Device) && + DeviceMode.Equals(other.DeviceMode); + + public override int GetHashCode() + { + return (IsEnabled, IsPrimary, Device, DeviceMode).GetHashCode(); + } + + public static bool operator ==(GDI_DISPLAY_SETTING lhs, GDI_DISPLAY_SETTING rhs) => lhs.Equals(rhs); + + public static bool operator !=(GDI_DISPLAY_SETTING lhs, GDI_DISPLAY_SETTING rhs) => !(lhs == rhs); + } + + + internal class DCHandle : SafeHandle + { + private readonly bool _created; + + private DCHandle(IntPtr handle, bool created) : base(handle, true) + { + _created = created; + } + + public override bool IsInvalid + { + get => handle == IntPtr.Zero; + } + + public static DCHandle CreateFromDevice(string screenName, string devicePath) + { + return new DCHandle( + GDIImport.CreateDC(screenName, devicePath, null, IntPtr.Zero), + true + ); + } + + public static DCHandle CreateFromScreen(string screenName) + { + return CreateFromDevice(screenName, screenName); + } + + public static DCHandle CreateFromWindow(IntPtr windowHandle) + { + return new DCHandle( + GDIImport.GetDC(windowHandle), + true + ); + } + + public static DCHandle CreateGlobal() + { + return new DCHandle( + GDIImport.CreateDC("DISPLAY", null, null, IntPtr.Zero), + true + ); + } + + protected override bool ReleaseHandle() + { + return _created + ? GDIImport.DeleteDC(this) + : GDIImport.ReleaseDC(IntPtr.Zero, this); + } + } + + class GDIImport + { + [DllImport("user32", CharSet = CharSet.Ansi)] + public static extern CHANGE_DISPLAY_RESULTS ChangeDisplaySettingsEx( + string deviceName, + ref DEVICE_MODE devMode, + IntPtr handler, + CHANGE_DISPLAY_SETTINGS_FLAGS flags, + IntPtr param + ); + + [DllImport("user32", CharSet = CharSet.Ansi)] + public static extern CHANGE_DISPLAY_RESULTS ChangeDisplaySettingsEx( + string deviceName, + IntPtr devModePointer, + IntPtr handler, + CHANGE_DISPLAY_SETTINGS_FLAGS flags, + IntPtr param + ); + + [DllImport("user32", CharSet = CharSet.Ansi)] + public static extern bool EnumDisplaySettings( + string deviceName, + DISPLAY_SETTINGS_MODE mode, + ref DEVICE_MODE devMode + ); + + [DllImport("gdi32", CharSet = CharSet.Unicode)] + internal static extern IntPtr CreateDC(string driver, string device, string port, IntPtr deviceMode); + + [DllImport("gdi32")] + internal static extern bool DeleteDC(DCHandle dcHandle); + + + [DllImport("user32", CharSet = CharSet.Unicode)] + internal static extern bool EnumDisplayDevices( + string deviceName, + UInt32 deviceNumber, + ref DISPLAY_DEVICE displayDevice, + UInt32 flags + ); + + [DllImport("user32")] + internal static extern bool EnumDisplayMonitors( + [In] IntPtr dcHandle, + [In] IntPtr clip, + MonitorEnumProcedure callback, + IntPtr callbackObject + ); + + [DllImport("user32")] + internal static extern IntPtr GetDC(IntPtr windowHandle); + + [DllImport("gdi32")] + internal static extern int GetDeviceCaps(DCHandle dcHandle, DEVICE_CAPABILITY index); + + [DllImport("gdi32")] + internal static extern bool GetDeviceGammaRamp(DCHandle dcHandle, ref GAMMA_RAMP ramp); + + [DllImport("user32")] + internal static extern bool GetMonitorInfo( + IntPtr monitorHandle, + ref MONITOR_INFO monitorInfo + ); + + [DllImport("user32")] + internal static extern IntPtr MonitorFromPoint( + [In] POINTL point, + MONITOR_FROM_FLAG flag + ); + + [DllImport("user32")] + internal static extern IntPtr MonitorFromRect( + [In] RECTL rectangle, + MONITOR_FROM_FLAG flag + ); + + [DllImport("user32")] + internal static extern IntPtr MonitorFromWindow( + [In] IntPtr windowHandle, + MONITOR_FROM_FLAG flag + ); + + [DllImport("user32")] + internal static extern bool ReleaseDC([In] IntPtr windowHandle, [In] DCHandle dcHandle); + + [DllImport("gdi32")] + internal static extern bool SetDeviceGammaRamp(DCHandle dcHandle, ref GAMMA_RAMP ramp); + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate int MonitorEnumProcedure( + IntPtr monitorHandle, + IntPtr dcHandle, + ref RECTL rect, + IntPtr callbackObject + ); + } +} \ No newline at end of file diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 685e9d7..c97b337 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -7,6 +7,7 @@ using Microsoft.Win32.SafeHandles; using DisplayMagicianShared; using System.ComponentModel; using System.Text.RegularExpressions; +using System.Collections.Generic; namespace DisplayMagicianShared.Windows { @@ -41,6 +42,7 @@ namespace DisplayMagicianShared.Windows public DISPLAYCONFIG_PATH_INFO[] DisplayConfigPaths; public DISPLAYCONFIG_MODE_INFO[] DisplayConfigModes; public ADVANCED_HDR_INFO_PER_PATH[] DisplayHDRStates; + public Dictionary GdiDisplaySettings; // Note: We purposely have left out the DisplaySources from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. @@ -52,11 +54,12 @@ namespace DisplayMagicianShared.Windows => DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && + GdiDisplaySettings.SequenceEqual(other.GdiDisplaySettings) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() { - return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates).GetHashCode(); + return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings, DisplayIdentifiers).GetHashCode(); } public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -128,6 +131,24 @@ namespace DisplayMagicianShared.Windows return _instance; } + public WINDOWS_DISPLAY_CONFIG CreateDefaultConfig() + { + WINDOWS_DISPLAY_CONFIG myDefaultConfig = new WINDOWS_DISPLAY_CONFIG(); + + // Fill in the minimal amount we need to avoid null references + // so that we won't break json.net when we save a default config + + myDefaultConfig.DisplayAdapters = new Dictionary(); + myDefaultConfig.DisplayConfigModes = new DISPLAYCONFIG_MODE_INFO[0]; + myDefaultConfig.DisplayConfigPaths = new DISPLAYCONFIG_PATH_INFO[0]; + myDefaultConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[0]; + myDefaultConfig.DisplayIdentifiers = new List(); + myDefaultConfig.DisplaySources = new Dictionary(); + myDefaultConfig.GdiDisplaySettings = new Dictionary(); + + return myDefaultConfig; + } + private void PatchAdapterIDs(ref WINDOWS_DISPLAY_CONFIG savedDisplayConfig, Dictionary currentAdapterMap) { @@ -389,10 +410,55 @@ namespace DisplayMagicianShared.Windows hdrInfoCount++; } + // Get the list of all display adapters in this machine through GDI + Dictionary gdiDeviceSettings = new Dictionary(); + UInt32 displayDeviceNum = 0; + DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); + displayDevice.Size = (UInt32)Marshal.SizeOf(); + while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) + { + // Now we try and grab the GDI Device Settings for each display device + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) + { + // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display + // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + DEVICE_MODE currentMode = new DEVICE_MODE(); + currentMode.Size = (UInt16)Marshal.SizeOf(); + bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); + if (gdiWorked) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); + GDI_DISPLAY_SETTING myDisplaySetting = new GDI_DISPLAY_SETTING(); + myDisplaySetting.IsEnabled = true; // Always true if we get here + myDisplaySetting.Device = displayDevice; + myDisplaySetting.DeviceMode = currentMode; + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)) + { + // This is a primary device, so we'll set that too. + myDisplaySetting.IsPrimary = true; + } + gdiDeviceSettings[displayDevice.DeviceName] = myDisplaySetting; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); + } + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); + } + + displayDeviceNum++; + } + // Store the active paths and modes in our display config object windowsDisplayConfig.DisplayConfigPaths = paths; windowsDisplayConfig.DisplayConfigModes = modes; windowsDisplayConfig.DisplayHDRStates = hdrInfos; + windowsDisplayConfig.GdiDisplaySettings = gdiDeviceSettings; windowsDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); return windowsDisplayConfig; @@ -620,6 +686,8 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the adapter device path for target #{path.TargetInfo.AdapterId}"); } + // show the + // get display target preferred mode var targetPreferredInfo = new DISPLAYCONFIG_TARGET_PREFERRED_MODE(); targetPreferredInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE; @@ -745,6 +813,76 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the SDL white level for display #{path.TargetInfo.Id}"); } } + + // Get the list of all display adapters in this machine through GDI + Dictionary gdiDeviceSettings = new Dictionary(); + UInt32 displayDeviceNum = 0; + DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); + displayDevice.Size = (UInt32)Marshal.SizeOf(); + stringToReturn += $"----++++==== GDI Device Information ====++++----\n"; + while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) + { + // Now we try and grab the GDI Device Info for each display device + stringToReturn += $"****** Display Device Info for Display {displayDevice.DeviceName} *******\n"; + stringToReturn += $" Display Device ID: {displayDevice.DeviceId}\n"; + stringToReturn += $" Display Device Key: {displayDevice.DeviceKey}\n"; + stringToReturn += $" Display Device Name: {displayDevice.DeviceName}\n"; + stringToReturn += $" Display Device String: {displayDevice.DeviceString}\n"; + stringToReturn += $" Is Attached to Desktop: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop)}\n"; + stringToReturn += $" Is Disconnected: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Disconnect)}\n"; + stringToReturn += $" Is a Mirroing Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MirroringDriver)}\n"; + stringToReturn += $" Has Modes Pruned: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.ModesPruned)}\n"; + stringToReturn += $" Is Multi-driver: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)}\n"; + stringToReturn += $" Is Primary Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)}\n"; + stringToReturn += $" Is Remote Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Remote)}\n"; + stringToReturn += $" Is Removable Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Removable)}\n"; + stringToReturn += $" Is VGA Compatible Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.VGACompatible)}\n"; + stringToReturn += $"\n"; + + + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) + { + // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display + // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + stringToReturn += $" Display Device Settings for attached Display {displayDevice.DeviceName} :\n"; + DEVICE_MODE currentMode = new DEVICE_MODE(); + currentMode.Size = (UInt16)Marshal.SizeOf(); + bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); + if (gdiWorked) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); + // Now we try and grab the GDI Device Settings for each display device + stringToReturn += $" Bits Per Pixel: {currentMode.BitsPerPixel}\n"; + stringToReturn += $" Device Name: {currentMode.DeviceName}\n"; + stringToReturn += $" Display Fixed Output: {currentMode.DisplayFixedOutput}\n"; + stringToReturn += $" Grayscale Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Grayscale)}\n"; + stringToReturn += $" Interlaced Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Interlaced)}\n"; + stringToReturn += $" Refresh Rate: {currentMode.DisplayFrequency}Hz\n"; + stringToReturn += $" Display Rotation: {currentMode.DisplayOrientation.ToString("G")}\n"; + stringToReturn += $" Driver Extra: {currentMode.DriverExtra}\n"; + stringToReturn += $" Driver Version: {currentMode.DriverVersion}\n"; + stringToReturn += $" All Display Fields populated by driver: {currentMode.Fields.HasFlag(DEVICE_MODE_FIELDS.AllDisplay)}\n"; + stringToReturn += $" Display Width and Height in Pixels: {currentMode.PixelsWidth} x {currentMode.PixelsHeight}\n"; + stringToReturn += $" Display Position: X:{currentMode.Position.X}, Y:{currentMode.Position.Y}\n"; + stringToReturn += $" Specification Version: {currentMode.SpecificationVersion}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); + stringToReturn += $" No display settings found.\n\n"; + } + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); + } + + displayDeviceNum++; + } + return stringToReturn; } @@ -793,7 +931,7 @@ namespace DisplayMagicianShared.Windows foreach (ADVANCED_HDR_INFO_PER_PATH myHDRstate in displayConfig.DisplayHDRStates) { - SharedLogger.logger.Trace($"Trying to get information whether HDR color is in use now on Display {myHDRstate.Id}."); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to get information whether HDR color is in use now on Display {myHDRstate.Id}."); // Get advanced HDR info var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; @@ -807,7 +945,7 @@ namespace DisplayMagicianShared.Windows if (myHDRstate.AdvancedColorInfo.AdvancedColorSupported && colorInfo.AdvancedColorEnabled != myHDRstate.AdvancedColorInfo.AdvancedColorEnabled) { - SharedLogger.logger.Trace($"HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} but is currently {colorInfo.AdvancedColorEnabled}."); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} but is currently {colorInfo.AdvancedColorEnabled}."); var setColorState = new DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE(); setColorState.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE; @@ -836,6 +974,61 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out if HDR is supported for display #{myHDRstate.Id}"); } + } + + // Attempt to set the display adapters in this machine through GDI + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API"); + foreach (var myGdiDisplaySettings in displayConfig.GdiDisplaySettings) + { + string displayDeviceName = myGdiDisplaySettings.Key; + GDI_DISPLAY_SETTING displayDeviceSettings = myGdiDisplaySettings.Value; + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceName}."); + DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(displayDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + if (result == CHANGE_DISPLAY_RESULTS.Successful) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceName} to use the new mode!"); + } + else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceName} not updated to new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid set of flags was passed in. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadMode) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The graphics mode is not supported. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadParam) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Failed) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: Unable to write new settings to the registry. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Restart) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceName} not updated to use the new mode."); + return false; + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceName} not updated to use the new mode."); + } + } return true; } From b02155d9b1c6e985e95753f996ea6a053850a08c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 15 Oct 2021 21:51:53 +1300 Subject: [PATCH 014/112] Added robust Uplay config file game parsing Used Josef Nemec's AMAZING code as a starter at https://github.com/JosefNemec/PlayniteExtensions/blob/master/source/Libraries/UplayLibrary/Models/ProductSchema.cs to build a proper Uplay Game parser! Uplay use protobuf encoded files that contain YAML embedded within them, just to annoy developers like me. Uplay processing should be much more robust now. --- DisplayMagician/DisplayMagician.csproj | 8 +- .../UplayConfigurationParser.cs | 104 ---- .../GameLibraries/UplayFileStructure.cs | 144 +++++ DisplayMagician/GameLibraries/UplayLibrary.cs | 508 +++++++++++------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 5 files changed, 470 insertions(+), 298 deletions(-) delete mode 100644 DisplayMagician/GameLibraries/UplayConfigurationParser/UplayConfigurationParser.cs create mode 100644 DisplayMagician/GameLibraries/UplayFileStructure.cs diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index ae13c6b..0b110c3 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -108,7 +108,7 @@ - + @@ -312,6 +312,9 @@ 4.7.11 + + 3.0.101 + 1.0.0 @@ -324,6 +327,9 @@ 1.6.0.4 + + 11.2.1 + diff --git a/DisplayMagician/GameLibraries/UplayConfigurationParser/UplayConfigurationParser.cs b/DisplayMagician/GameLibraries/UplayConfigurationParser/UplayConfigurationParser.cs deleted file mode 100644 index 4ef7932..0000000 --- a/DisplayMagician/GameLibraries/UplayConfigurationParser/UplayConfigurationParser.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -// This configuration parses logic is kept here for possible future use -// It was really difficult to find this logic in some obscure webpage -// so I'm keeping it in case I need it later. -namespace DisplayMagician.GameLibraries.UplayConfigurationParser -{ - class UplayConfigurationParser - { - - /*def _convert_data(self, data): - # calculate object size (konrad's formula) - if data > 256 * 256: - data = data - (128 * 256 * math.ceil(data / (256 * 256))) - data = data - (128 * math.ceil(data / 256)) - else: - if data > 256: - data = data - (128 * math.ceil(data / 256)) - return data*/ - - internal static decimal ConvertData (decimal data) - { - if (data > 65536) - { - data = data - (128 * 256 * Math.Ceiling(data / 65536)); - } - else if (data > 256) - { - data = data - (128 * Math.Ceiling(data / 256)); - } - - return data; - - } - - - - /*def _parse_configuration_header(self, header, second_eight= False): - try: - offset = 1 - multiplier = 1 - record_size = 0 - tmp_size = 0 - - if second_eight: - while header[offset] != 0x08 or(header[offset] == 0x08 and header[offset + 1] == 0x08) : - record_size += header[offset] * multiplier - multiplier *= 256 - offset += 1 - tmp_size += 1 - else: - while header[offset] != 0x08 or record_size == 0: - record_size += header[offset] * multiplier - multiplier *= 256 - offset += 1 - tmp_size += 1 - - record_size = self._convert_data(record_size) - - offset += 1 # skip 0x08 - - # look for launch_id - multiplier = 1 - launch_id = 0 - - while header[offset] != 0x10 or header[offset + 1] == 0x10: - launch_id += header[offset] * multiplier - multiplier *= 256 - offset += 1 - - launch_id = self._convert_data(launch_id) - - offset += 1 # skip 0x10 - - multiplier = 1 - launch_id_2 = 0 - while header[offset] != 0x1A or(header[offset] == 0x1A and header[offset + 1] == 0x1A) : - launch_id_2 += header[offset] * multiplier - multiplier *= 256 - offset += 1 - - launch_id_2 = self._convert_data(launch_id_2) - - #if object size is smaller than 128b, there might be a chance that secondary size will not occupy 2b - if record_size - offset < 128 <= record_size: - tmp_size -= 1 - record_size += 1 - -# we end up in the middle of header, return values normalized -# to end of record as well real yaml size and game launch_id - return record_size - offset, launch_id, launch_id_2, offset + tmp_size + 1 - except: -# something went horribly wrong, do not crash it, -# just return 0s, this way it will be handled later in the code -# 10 is to step a little in configuration file in order to find next game - return 0, 0, 0, 10*/ - - //internal static decimal ParseConfigurationHeader(decimal data); - } -} diff --git a/DisplayMagician/GameLibraries/UplayFileStructure.cs b/DisplayMagician/GameLibraries/UplayFileStructure.cs new file mode 100644 index 0000000..f54813f --- /dev/null +++ b/DisplayMagician/GameLibraries/UplayFileStructure.cs @@ -0,0 +1,144 @@ +using ProtoBuf; +using System.Collections.Generic; + +namespace DisplayMagician.GameLibraries +{ + // ##################################################################################################### + // # This set of classes are used for deserialising Uplay protobuf files + // ##################################################################################################### + + [ProtoContract] + public class UplayCachedGame + { + [ProtoMember(1)] + public uint UplayId { get; set; } + [ProtoMember(2)] + public uint InstallId { get; set; } + [ProtoMember(3)] + public string GameInfo { get; set; } + } + + [ProtoContract] + public class UplayCachedGameCollection + { + [ProtoMember(1)] + public List Games { get; set; } + } + + // ##################################################################################################### + // # This set of classes are used for deserialising Uplay YAML enbedded within the protobuf file format + // ##################################################################################################### + public class ProductInformation + { + public class Executable + { + public class Path + { + public string relative; + } + + public class WorkingDirectory + { + public string register; + public string append; + } + + public Path path; + public WorkingDirectory working_directory; + public string internal_name; + public string description; + public string shortcut_name; + public string icon_image; + } + + public class StartGameItem + { + public bool after_game_report_enabled; + public bool overlay_supported; + public bool overlay_product_activation_enabled; + public bool overlay_required; + public bool overlay_shop_enabled; + public bool legacy_ticket_enabled; + public List executables; + + } + + public class StartGame + { + public StartGameItem online; + public StartGameItem offline; + } + + public class DigitalDistribution + { + public int version; + } + + public class Localization + { + public string l1; + } + + public class Club + { + public bool enabled; + } + + public class Addon + { + public uint id; + public bool is_visible; + public string name; + public string description; + public string thumb_image; + } + + public class Uplay + { + public string game_code; + public string achievements; + public string achievements_sync_id; + } + + public class ThirdPartyPlatform + { + public string name; + } + + public class Product + { + public string name; + public string background_image; + public string thumb_image; + public string logo_image; + public string dialog_image; + public string icon_image; + public ThirdPartyPlatform third_party_platform; + public string sort_string; + public bool cloud_saves; + public string forum_url; + public string homepage_url; + public string facebook_url; + public string help_url; + public bool after_game_report_ad; + public bool force_safe_mode; + public bool uplay_pipe_required; + public bool show_properties; + public bool game_streaming_enabled; + public Uplay uplay; + public List addons; + public Club club; + public DigitalDistribution digital_distribution; + public bool is_ulc; + public bool is_visible; + public StartGame start_game; + } + + public string version; + public Product root; + public Dictionary localizations; + public uint uplay_id; + public uint install_id; + } + +} diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index 3c281bc..db1fccc 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -6,6 +6,10 @@ using Microsoft.Win32; using System.IO; using System.Security; using System.Diagnostics; +using ProtoBuf; +using YamlDotNet.Serialization; +using YamlDotNet.Serialization.NamingConventions; +using System.Globalization; namespace DisplayMagician.GameLibraries { @@ -404,6 +408,52 @@ namespace DisplayMagician.GameLibraries } + public bool GetInstallDirFromRegKey(string regKeyPath, out string filePath) + { + filePath = ""; + + RegistryKey uplayGameInstallKey; + if (regKeyPath.StartsWith("HKEY_LOCAL_MACHINE")) + { + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyPath}"); + string regKeyText = regKeyPath.Replace(@"HKEY_LOCAL_MACHINE\", ""); + uplayGameInstallKey = Registry.LocalMachine.OpenSubKey(regKeyText, RegistryKeyPermissionCheck.ReadSubTree); + } + else if (regKeyPath.StartsWith("HKEY_CURRENT_USER")) + { + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKCU reg key {regKeyPath}"); + string regKeyText = regKeyPath.Replace(@"HKEY_CURRENT_USER\", ""); + uplayGameInstallKey = Registry.LocalMachine.OpenSubKey(regKeyText, RegistryKeyPermissionCheck.ReadSubTree); + } + else + { + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Skipping processing as regkey supplied was odd: {regKeyPath}"); + return false; + } + + // If the key doesn't exist we skip it as the game isn't installed any longer! + if (uplayGameInstallKey == null) + { + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Skipping Uplay Game as it isn't installed at the moment (it was uninstalled at some point)"); + return false; + } + + // From that we lookup the actual game path + string gameInstallDir = uplayGameInstallKey.GetValue("InstallDir", "").ToString(); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: gameInstallDir found = {gameInstallDir}"); + if (!String.IsNullOrWhiteSpace(gameInstallDir)) + { + filePath = Path.GetFullPath(gameInstallDir).TrimEnd('\\'); + return true; + } + else + { + logger.Warn($"UplayLibrary/GetInstallDirFromRegKey: gameInstallDir is null or all whitespace!"); + return false; + } + } + + public override bool LoadInstalledGames() { try @@ -475,211 +525,287 @@ namespace DisplayMagician.GameLibraries // Access {installdir}\\cache\\configuration\\configurations file string uplayConfigFilePath = _uplayPath + @"cache\configuration\configurations"; logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay Config File Path = {uplayConfigFilePath }"); - string uplayConfigFileString = File.ReadAllText(uplayConfigFilePath); - uplayConfigFileString = uplayConfigFileString.Remove(0, 12); - string[] dividingText = { "version: 2.0" }; - List uplayConfigFile = uplayConfigFileString.Split(dividingText,StringSplitOptions.RemoveEmptyEntries).ToList(); - // Split the file into records at the SOH unicode character - //List uplayConfigFile = uplayConfigFileString.Split((Char)1).ToList(); - // Go through every record and attempt to parse it - foreach (string uplayEntry in uplayConfigFile) { - // Skip any Uplay entry records that don't start with 'version:' - //if (!uplayEntry.StartsWith("version:",StringComparison.OrdinalIgnoreCase)) - // continue; + var deserializer = new DeserializerBuilder() + .IgnoreUnmatchedProperties() + .Build(); - logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay Entry that starts with 'version: 2.0') = {uplayEntry}"); - - //Split the record into entrylines - string[] delimeters = { "\r\n" }; - List uplayEntryLines = uplayEntry.Split(delimeters, System.StringSplitOptions.RemoveEmptyEntries).ToList(); - - // Skip any records NOT containing an entryline with ' start_game:' (note 2 leading spaces) - // All games contain a start_game entry - if (!uplayEntryLines.Exists(a => a.StartsWith(" start_game:"))) - continue; - - // Skip any records containing an entryline with ' third_party_platform:' (note 2 leading spaces) - // We only want the native uplay games.... - if (uplayEntryLines.Exists(a => a.StartsWith(" third_party_platform:"))) - continue; - - // if we get here then we have a real game to parse! - // Yay us :). - - // First we want to know the index of the start_game entry to use later - //int startGameIndex = uplayEntryLines.FindIndex(a => a.StartsWith(" start_game:")); - MatchCollection mc; - - // First we check if there are any localization CONSTANTS that we will need to map later. - Dictionary localizations = new Dictionary(); - int localizationsIndex = uplayEntryLines.FindIndex(a => a == "localizations:"); - // If there are localizations, then we need to store them for later - if (localizationsIndex != -1) + using (var file = File.OpenRead(uplayConfigFilePath)) + { + try { - // grab the localizations: -> default: entries to use as a lookup table for the info we need - int defaultIndex = localizationsIndex + 1; - int currentIndex = defaultIndex + 1; - - // Grab all EntryLines with 4 leading spaces (these are all the localizations) - while (uplayEntryLines[currentIndex].StartsWith(" ")){ - string[] split = uplayEntryLines[currentIndex].Split(':'); - localizations.Add(split[0].Trim(), split[1].Trim()); - currentIndex++; - } - - } - - // for each game record grab: - GameAppInfo uplayGameAppInfo = new GameAppInfo(); - - // find the exe name looking at root: -> start_game: -> online: -> executables: -> path: -> relative: (get ACU.exe) - // Lookup the Game registry key from looking at root: -> start_game: -> online: -> executables: -> working_directory: -> register: (get HKEY_LOCAL_MACHINE\SOFTWARE\Ubisoft\Launcher\Installs\720\InstallDir) - // Extract the GameAppID from the number in the working directory (e.g. 720) - // Lookup the Game install path by reading the game registry key: D:/Ubisoft Game Launcher/Assassin's Creed Unity/ - // join the Game install path and the exe name to get the full game exe path: D:/Ubisoft Game Launcher/Assassin's Creed Unity/ACU.exe - - //if (uplayEntryLines.Find (a => a.StartsWith(" icon_image:", StringComparison.InvariantCultureIgnoreCase))) - - bool gotGameIconPath = false; - bool gotGameName = false; - string gameFileName = ""; - bool gotGameFileName = false; - string gameId = ""; - bool gotGameId = false; - string gameRegistryKey = ""; - bool gotGameRegistryKey = false; - for (int i = 0; i <= 50; i++) - { - // Stop this loop once we have both filname and gameid - if (gotGameFileName && gotGameId && gotGameIconPath && gotGameName && gotGameRegistryKey) + var gameCollection = ProtoBuf.Serializer.Deserialize(file).Games; + foreach (var item in gameCollection) { - logger.Trace($"UplayLibrary/LoadInstalledGames: We got all the entries: gameFileName = {gameFileName } && gameId = {gameId } && gameIconPath = {uplayGameAppInfo.GameIconPath} && gameName = {uplayGameAppInfo.GameName}"); - break; - } - - // This line contains the Game Name - if (uplayEntryLines[i].StartsWith(" name:", StringComparison.OrdinalIgnoreCase) && !gotGameName) - { - mc = Regex.Matches(uplayEntryLines[i], @" name\: (.*)"); - if (mc.Count > 0) + if (!String.IsNullOrEmpty(item.GameInfo)) { - uplayGameAppInfo.GameName = mc[0].Groups[1].ToString(); - // if the name contains a localization reference, then dereference it - if (localizations.ContainsKey(uplayGameAppInfo.GameName)) + ProductInformation productInfo; + try { - uplayGameAppInfo.GameName = localizations[uplayGameAppInfo.GameName]; + productInfo = deserializer.Deserialize(item.GameInfo); + var root = productInfo.root; + + string gameName = ""; + string gameExePath = ""; + string gameIconPath = ""; + + // Try finding the Game Name using the localisation currently in use as a first step + logger.Trace($"UplayLibrary/LoadInstalledGames: Looking for the Uplay game name."); + string currentLang = CultureInfo.CurrentCulture.Name; + foreach (var lang in productInfo.localizations) + { + // If we find the same language as the user is using, then let's use that! + if (lang.Key.Equals(currentLang)) + { + gameName = lang.Value.l1; + logger.Trace($"UplayLibrary/LoadInstalledGames: We found the Uplay game name '{gameName}' in the user's language of {currentLang}."); + break; + } + } + // If the gameName isn't available in the users language, then we go for default + if (String.IsNullOrEmpty(gameName) && productInfo.localizations.ContainsKey("default")) + { + gameName = productInfo.localizations["default"].l1; + if (!String.IsNullOrEmpty(gameName)) + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Looking for the Uplay game name with the en language as the local language didn't work. We found game name '{gameName}'. "); + } + else + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Looking for the Uplay game name with the en language as the local language didn't work. We found no en language. "); + } + } + + + // Now we'll try to sort out the rest of the game data! + // We first look for the online executable information + if (root.start_game.online.executables.Count > 0) + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some online executables to process! "); + + // First up we look at the online games, cause they're just better! + foreach (var executable in root.start_game.online.executables) + { + string exePath = ""; + + // Check if its a full path or a relative path + if (!String.IsNullOrEmpty(executable.path.relative)) + { + if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) + { + // This copes with relative files using a HKEY_LOCAL_MACHINE registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); + } + } + /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) + { + // This copes with relative files using a HKEY_CURRENT_USER registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); + } + }*/ + else if (!String.IsNullOrEmpty(executable.working_directory.append)) + { + // This copes with relative files using an appended path + gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); + gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + } + else + { + // Problem! + logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + continue; + } + } + else + { + // This should cope with full pathed files, but we have no examples to test! So log it + logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); + logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); + continue; + } + + // We should check the exe file exists, and if it doesn't then we need to do the next exe + if (!File.Exists(gameExePath)) + { + logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); + continue; + } + + // Now try to get the Uplay game icon + if (!String.IsNullOrEmpty(executable.icon_image)) + { + gameIconPath = Path.Combine(_uplayPath, "data", "games", executable.icon_image); + + // If the icon file isn't actually there, then use the game exe instead. + if (!File.Exists(gameIconPath)) + { + gameIconPath = gameExePath; + } + } + + logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); + + // We do a final check to make sure that we do have a GameName, and if not we use the shortcut + if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) + { + gameName = executable.shortcut_name; + logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); + } + + // Now we need to save the game name, cause if we're here then we're good enough to save + // Then we have the gameID, the thumbimage, the icon, the name, the exe path + // And we add the Game to the list of games we have! + _allGames.Add(new UplayGame(productInfo.uplay_id.ToString(), gameName, gameExePath, gameIconPath)); + logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); + break; + } + + } + // This is the offline exes + else if (root.start_game.offline.executables.Count > 0) + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay game {gameName} has some offline executables to process! "); + + // we look at the offline games, cause there weren't any online ones + foreach (var executable in root.start_game.offline.executables) + { + string exePath = ""; + + // Check if its a full path or a relative path + if (!String.IsNullOrEmpty(executable.path.relative)) + { + if (executable.working_directory.register.StartsWith("HKEY_LOCAL_MACHINE")) + { + // This copes with relative files using a HKEY_LOCAL_MACHINE registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); + } + } + /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) + { + // This copes with relative files using a HKEY_CURRENT_USER registry + + string regKeyText = executable.working_directory.register; + regKeyText = regKeyText.Replace(@"\InstallDir", ""); + regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); + logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); + + if (this.GetInstallDirFromRegKey(executable.working_directory.register, out exePath)) + { + gameExePath = Path.Combine(exePath, executable.path.relative); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); + } + }*/ + else if (!String.IsNullOrEmpty(executable.working_directory.append)) + { + // This copes with relative files using an appended path + gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); + gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); + logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + } + else + { + // Problem! + logger.Error($"UplayLibrary/LoadInstalledGames: Found relative GameExePath {executable.path.relative} for Uplay game {gameName} but no registry key or appended file path! Skipping this game."); + continue; + } + } + else + { + // This should cope with full pathed files, but we have no examples to test! So log it + logger.Error($"UplayLibrary/LoadInstalledGames: Found non-relative GameExePath {executable.path} for Uplay game {gameName} but we've not seen it before so no idea how to handle it! Skipping this game."); + logger.Error($"UplayLibrary/LoadInstalledGames: executable.path for troubleshooting: {executable.path}"); + continue; + } + + // We should check the exe file exists, and if it doesn't then we need to do the next exe + if (!File.Exists(gameExePath)) + { + logger.Error($"UplayLibrary/LoadInstalledGames: Couldn't find the GameExePath {gameExePath} for Uplay game {gameName} so skipping this exe, and trying the next one."); + continue; + } + + // Now try to get the Uplay game icon + if (!String.IsNullOrEmpty(executable.icon_image)) + { + gameIconPath = Path.Combine(_uplayPath, "data", "games", executable.icon_image); + + // If the icon file isn't actually there, then use the game exe instead. + if (!File.Exists(gameIconPath)) + { + gameIconPath = gameExePath; + } + } + + logger.Trace($"UplayLibrary/LoadInstalledGames: Found GameExePath {exePath} and Icon Path {gameIconPath} for Uplay game {gameName}."); + + // We do a final check to make sure that we do have a GameName, and if not we use the shortcut + if (String.IsNullOrEmpty(gameName) && !String.IsNullOrEmpty(executable.shortcut_name)) + { + gameName = executable.shortcut_name; + logger.Trace($"UplayLibrary/LoadInstalledGames: Game Name was still empty, so we're using the shortcut name as a last resort: {executable.shortcut_name} "); + } + + // Now we need to save the game name, cause if we're here then we're good enough to save + // Then we have the gameID, the thumbimage, the icon, the name, the exe path + // And we add the Game to the list of games we have! + _allGames.Add(new UplayGame(productInfo.uplay_id.ToString(), gameName, gameExePath, gameIconPath)); + logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); + break; + } + + } + else + { + logger.Trace($"UplayLibrary/LoadInstalledGames: Uplay Entry {gameName} doesn't have any executables associated with it! We have to skip adding this game."); + continue; + } + } - logger.Trace($"UplayLibrary/LoadInstalledGames: Found uplayGameAppInfo.GameName = {uplayGameAppInfo.GameName}"); - gotGameName = true; - } - } - else if (uplayEntryLines[i].StartsWith(" icon_image:", StringComparison.OrdinalIgnoreCase) && !gotGameIconPath) - { - mc = Regex.Matches(uplayEntryLines[i], @"icon_image: (.*)"); - if (mc.Count > 0) - { - string iconImageFileName = mc[0].Groups[1].ToString(); - // if the icon_image contains a localization reference, then dereference it - if (localizations.ContainsKey(iconImageFileName)) + catch (Exception ex) { - iconImageFileName = localizations[iconImageFileName]; - logger.Trace($"UplayLibrary/LoadInstalledGames: Found iconImageFile = {iconImageFileName }"); + // If we get an error processing the game YAML, lets try and skip this game and try the next one. It might work! + logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the YAML embedded in the Uplay configuration file {uplayConfigFilePath}. Cannot process this games!"); + continue; } - //61fdd16f06ae08158d0a6d476f1c6bd5.ico - string uplayGameIconPath = _uplayPath + @"data\games\" + iconImageFileName; - if (File.Exists(uplayGameIconPath) && uplayGameIconPath.EndsWith(".ico")) - { - uplayGameAppInfo.GameIconPath = uplayGameIconPath; - logger.Trace($"UplayLibrary/LoadInstalledGames: Found uplayGameAppInfo.GameUplayIconPath = {uplayGameAppInfo.GameIconPath }"); - } - gotGameIconPath = true; - } - } - // This line contains the filename - else if (uplayEntryLines[i].StartsWith(" relative:") && !gotGameFileName) - { - mc = Regex.Matches(uplayEntryLines[i], @"relative: (.*)"); - if (mc.Count > 0) - { - gameFileName = mc[0].Groups[1].ToString(); - gotGameFileName = true; - logger.Trace($"UplayLibrary/LoadInstalledGames: Found gameFileName = {gameFileName}"); - } - } - // This line contains the registryKey - else if (uplayEntryLines[i].StartsWith(" register: HKEY_LOCAL_MACHINE") && !gotGameId) - { - - // Lookup the GameId within the registry key - mc = Regex.Matches(uplayEntryLines[i], @"Installs\\(\d+)\\InstallDir"); - if (mc.Count > 0) - { - gameId = mc[0].Groups[1].ToString(); - gotGameId = true; - logger.Trace($"UplayLibrary/LoadInstalledGames: Found gameId = {gameId}"); + } - mc = Regex.Matches(uplayEntryLines[i], @"HKEY_LOCAL_MACHINE\\(.*?)\\InstallDir"); - if (mc.Count > 0) - { - gameRegistryKey = mc[0].Groups[1].ToString(); - gameRegistryKey = gameRegistryKey.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); - gotGameRegistryKey = true; - logger.Trace($"UplayLibrary/LoadInstalledGames: Found gameRegistryKey = {gameRegistryKey}"); - } - } } - - logger.Trace($"UplayLibrary/LoadInstalledGames: gameId = {gameId}"); - logger.Trace($"UplayLibrary/LoadInstalledGames: gameFileName = {gameFileName}"); - logger.Trace($"UplayLibrary/LoadInstalledGames: gameGameIconPath = {uplayGameAppInfo.GameIconPath}"); - logger.Trace($"UplayLibrary/LoadInstalledGames: gameRegistryKey = {gameRegistryKey}"); - - if (gotGameRegistryKey) + catch (Exception ex) { - // Now we need to lookup the game install path in registry using the game reg we got above - // We assume its 64-bit OS too (not 32bit) - using (RegistryKey uplayGameInstallKey = Registry.LocalMachine.OpenSubKey(gameRegistryKey, RegistryKeyPermissionCheck.ReadSubTree)) - { - // If the key doesn't exist we skip it as the game isn't installed any longer! - if (uplayGameInstallKey == null) - { - logger.Trace($"UplayLibrary/LoadInstalledGames: Skipping Uplay Game {uplayGameAppInfo.GameName} as it isn't installed at the moment (it was uninstalled at some point)"); - continue; - } - - // If we get here, then we have a real game. - foreach (string regKeyName in uplayGameInstallKey.GetValueNames()) - { - logger.Trace($"UplayLibrary/LoadInstalledGames: uplayGameInstallKey[{regKeyName}] = {uplayGameInstallKey.GetValue(regKeyName)}"); - } - - // From that we lookup the actual game path - string gameInstallDir = uplayGameInstallKey.GetValue("InstallDir", "").ToString(); - logger.Trace($"UplayLibrary/LoadInstalledGames: gameInstallDir found = {gameInstallDir}"); - if (!String.IsNullOrWhiteSpace(gameInstallDir)) - { - uplayGameAppInfo.GameInstallDir = Path.GetFullPath(gameInstallDir).TrimEnd('\\'); - logger.Trace($"UplayLibrary/LoadInstalledGames: uplayGameAppInfo.GameInstallDir = {uplayGameAppInfo.GameInstallDir }"); - uplayGameAppInfo.GameExePath = Path.Combine(uplayGameAppInfo.GameInstallDir, gameFileName); - logger.Trace($"UplayLibrary/LoadInstalledGames: uplayGameAppInfo.GameExe = {uplayGameAppInfo.GameExePath}"); - uplayGameAppInfo.GameID = gameId; - logger.Trace($"UplayLibrary/LoadInstalledGames: uplayGameAppInfo.GameID = {uplayGameAppInfo.GameID }"); - } - else - { - logger.Warn($"UplayLibrary/LoadInstalledGames: gameInstallDir is null or all whitespace!"); - } - - // Then we have the gameID, the thumbimage, the icon, the name, the exe path - // And we add the Game to the list of games we have! - _allGames.Add(new UplayGame(uplayGameAppInfo.GameID, uplayGameAppInfo.GameName, uplayGameAppInfo.GameExePath, uplayGameAppInfo.GameIconPath)); - logger.Debug($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {uplayGameAppInfo.GameID}, name {uplayGameAppInfo.GameName}, game exe {uplayGameAppInfo.GameExePath} and icon path {uplayGameAppInfo.GameIconPath}"); - } + // We can't do anything if we hit here. + logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the protobuf Uplay configuration file {uplayConfigFilePath}. Cannot process any games!"); + return false; } - - } + } logger.Info($"UplayLibrary/LoadInstalledGames: Found {_allGames.Count} installed Uplay games"); diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 7d2074f..b68add6 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.95")] -[assembly: AssemblyFileVersion("2.0.1.95")] +[assembly: AssemblyVersion("2.0.1.123")] +[assembly: AssemblyFileVersion("2.0.1.123")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From f4bc6077e9b2198bb4bb929a7899789bb19d4704 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 15 Oct 2021 21:59:05 +1300 Subject: [PATCH 015/112] Fixed issue with Uplay icon paths --- DisplayMagician/GameLibraries/UplayLibrary.cs | 8 ++++---- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index db1fccc..e32e664 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -651,9 +651,9 @@ namespace DisplayMagician.GameLibraries } // Now try to get the Uplay game icon - if (!String.IsNullOrEmpty(executable.icon_image)) + if (!String.IsNullOrEmpty(root.icon_image)) { - gameIconPath = Path.Combine(_uplayPath, "data", "games", executable.icon_image); + gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); // If the icon file isn't actually there, then use the game exe instead. if (!File.Exists(gameIconPath)) @@ -753,9 +753,9 @@ namespace DisplayMagician.GameLibraries } // Now try to get the Uplay game icon - if (!String.IsNullOrEmpty(executable.icon_image)) + if (!String.IsNullOrEmpty(root.icon_image)) { - gameIconPath = Path.Combine(_uplayPath, "data", "games", executable.icon_image); + gameIconPath = Path.Combine(_uplayPath, "data", "games", root.icon_image); // If the icon file isn't actually there, then use the game exe instead. if (!File.Exists(gameIconPath)) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b68add6..913a264 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.123")] -[assembly: AssemblyFileVersion("2.0.1.123")] +[assembly: AssemblyVersion("2.0.1.125")] +[assembly: AssemblyFileVersion("2.0.1.125")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From b5e84cf6a8bb7e42cb2fe38fbd3dbd008f535cce Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 09:09:36 +1300 Subject: [PATCH 016/112] Some logging changes for Uplay This is the last change that fixes the broken Uplay parsing part of #47. --- DisplayMagician/GameLibraries/UplayLibrary.cs | 13 ++++++++++--- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index e32e664..ac0e684 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -792,8 +792,15 @@ namespace DisplayMagician.GameLibraries catch (Exception ex) { // If we get an error processing the game YAML, lets try and skip this game and try the next one. It might work! - logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the YAML embedded in the Uplay configuration file {uplayConfigFilePath}. Cannot process this games!"); - continue; + if (item.GameInfo.StartsWith("root:")) + { + logger.Warn($"UplayLibrary/LoadInstalledGames: Problem deserialising the YAML embedded in the Uplay configuration file {uplayConfigFilePath}. Cannot process this Uplay game! (Uplay ID:{item.UplayId}): {item.GameInfo}"); + continue; + } + else + { + logger.Trace($"UplayLibrary/LoadInstalledGames: This Uplay entry (Uplay ID:{item.UplayId}) in the Uplay configuration file {uplayConfigFilePath} is not a YAML config so skipping: {item.GameInfo}"); + } } } @@ -802,7 +809,7 @@ namespace DisplayMagician.GameLibraries catch (Exception ex) { // We can't do anything if we hit here. - logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the protobuf Uplay configuration file {uplayConfigFilePath}. Cannot process any games!"); + logger.Error($"UplayLibrary/LoadInstalledGames: Problem deserialising the protobuf Uplay configuration file {uplayConfigFilePath}. Cannot process any Uplay games!"); return false; } } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 913a264..bb8088d 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.125")] -[assembly: AssemblyFileVersion("2.0.1.125")] +[assembly: AssemblyVersion("2.0.1.127")] +[assembly: AssemblyFileVersion("2.0.1.127")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From d98372bf391fc5d798ca8160afe02b8ba87b6cfa Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 09:37:52 +1300 Subject: [PATCH 017/112] Patch Profiles that are missing GDI settings This will ensure that existing display profiles will at least load. Anyone with refresh settings changes or BPC or other device context settings will need to recreate their display profiles. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagicianShared/ProfileRepository.cs | 32 ++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index bb8088d..e88ca59 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.127")] -[assembly: AssemblyFileVersion("2.0.1.127")] +[assembly: AssemblyVersion("2.0.1.129")] +[assembly: AssemblyFileVersion("2.0.1.129")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index ec773a1..e036981 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -818,6 +818,7 @@ namespace DisplayMagicianShared JObject NVIDIADisplayConfig = (JObject)profile.SelectToken("NVIDIADisplayConfig"); NVIDIADisplayConfig.Add("ColorConfig",defaultColorConfig); changedJson = true; + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing NVIDIA Color Config in profile {profile.SelectToken("Name")} (index {i})."); } } } @@ -830,6 +831,37 @@ namespace DisplayMagicianShared SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); } + // Now we try and add a default Windows GDI Device Context if there isn't one + try + { + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing Windows GDI Device Context."); + + // Create a default object + Dictionary GdiDisplaySettings = new Dictionary(); + JObject defaultGdiDisplaySettings = (JObject)JToken.FromObject(GdiDisplaySettings); + for (int i = 0; i < root.Count; i++) + { + JObject profile = (JObject)root[i]; + JObject result = (JObject)profile.SelectToken("WindowsDisplayConfig.GdiDisplaySettings"); + if (result == null) + { + + JObject WindowsDisplayConfig = (JObject)profile.SelectToken("WindowsDisplayConfig"); + WindowsDisplayConfig.Add("GdiDisplaySettings", defaultGdiDisplaySettings); + changedJson = true; + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing Windows GDI Device Context in profile {profile.SelectToken("Name")} (index {i})."); + } + } + } + catch (JsonReaderException ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: JSONReaderException while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + catch (Exception ex) + { + SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); + } + // Now write the changed json to the json string but only if we've changed something if (changedJson) { From cf1ff873efa3c38e757928d90b8c004a2f10a882 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 16:45:49 +1300 Subject: [PATCH 018/112] Added patch to convert v2.0.1 displaySource to list This should help avoid a crash to desktop when using cloned displays. Partially fixes #47 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/UIForms/ShortcutForm.cs | 2 +- DisplayMagicianShared/ProfileItem.cs | 6 +-- DisplayMagicianShared/ProfileRepository.cs | 56 ++++++++++++++------- DisplayMagicianShared/Windows/WinLibrary.cs | 22 ++++++-- 5 files changed, 63 insertions(+), 27 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e88ca59..ad16e06 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.129")] -[assembly: AssemblyFileVersion("2.0.1.129")] +[assembly: AssemblyVersion("2.0.1.149")] +[assembly: AssemblyFileVersion("2.0.1.149")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 25e4642..8b37148 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -2399,7 +2399,7 @@ namespace DisplayMagician.UIForms _gameLauncher = game.GameLibrary.ToString("G"); lbl_game_library.Text = $"Game Library: {_gameLauncher}"; _gameId = game.Id; - + break; } } } diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 87ab42b..27936b7 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -973,7 +973,7 @@ namespace DisplayMagicianShared { uint displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId; string windowsDisplayName = _nvidiaDisplayConfig.DisplayNames[displayId]; - uint sourceIndex = _windowsDisplayConfig.DisplaySources[windowsDisplayName]; + List sourceIndexes = _windowsDisplayConfig.DisplaySources[windowsDisplayName]; for (int x = 0; x < _windowsDisplayConfig.DisplayConfigModes.Length; x++) { // Skip this if its not a source info config type @@ -982,8 +982,8 @@ namespace DisplayMagicianShared continue; } - // If the source index matches the index of the source info object we're looking at, then process it! - if (_windowsDisplayConfig.DisplayConfigModes[x].Id == sourceIndex) + // If the source index matches the index of the source info object we're looking at, then process it! + if (sourceIndexes.Contains(_windowsDisplayConfig.DisplayConfigModes[x].Id)) { screen.Name = displayId.ToString(); diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index e036981..12f10f3 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -797,12 +797,11 @@ namespace DisplayMagicianShared SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); } - - // Now we try and add a default NVIDIA Color Settings if there isn't one + // We do the change we wre trying to do try { + // Now we try and add a default NVIDIA Color Settings if there isn't one SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing NVIDIA Color Config."); - // Create a default object NVIDIA_DISPLAY_CONFIG myDefaultConfig = new NVIDIA_DISPLAY_CONFIG(); myDefaultConfig.ColorConfig.ColorData = new Dictionary(); @@ -820,22 +819,10 @@ namespace DisplayMagicianShared changedJson = true; SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing NVIDIA Color Config in profile {profile.SelectToken("Name")} (index {i})."); } - } - } - catch (JsonReaderException ex) - { - SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: JSONReaderException while trying to process the Profiles json data to migrate any older feature to the latest version."); - } - catch (Exception ex) - { - SharedLogger.logger.Error($"ProfileRepository/MigrateJsonToLatestVersion: Exception while trying to process the Profiles json data to migrate any older feature to the latest version."); - } + } - // Now we try and add a default Windows GDI Device Context if there isn't one - try - { + // Now we try to patch in a Windows GDI device context into the json if there isnt one SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing Windows GDI Device Context."); - // Create a default object Dictionary GdiDisplaySettings = new Dictionary(); JObject defaultGdiDisplaySettings = (JObject)JToken.FromObject(GdiDisplaySettings); @@ -852,6 +839,41 @@ namespace DisplayMagicianShared SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing Windows GDI Device Context in profile {profile.SelectToken("Name")} (index {i})."); } } + + // Now we try to convert the individual sourceids into a list of source ids to cope with cloned devices + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing Windows GDI Device Context."); + // Create a default object + List WinDisplaySourcesList = new List(); + //JObject WinDisplaySources = (JObject)JToken.FromObject(WinDisplaySourcesList); + for (int i = 0; i < root.Count; i++) + { + JObject profile = (JObject)root[i]; + try + { + JObject WindowsDisplaySources = (JObject)profile.SelectToken("WindowsDisplayConfig.DisplaySources"); + Dictionary> existingDisplaySources = WindowsDisplaySources.ToObject>>(); + } + catch (Exception ex) + { + JObject WindowsDisplaySources = (JObject)profile.SelectToken("WindowsDisplayConfig.DisplaySources"); + //foreach (var displaySource in WindowsDisplaySources.ToObject>()) + Dictionary existingDisplaySources = WindowsDisplaySources.ToObject>(); + Dictionary> newDisplaySources = new Dictionary>(); + foreach (var sourceName in existingDisplaySources.Keys) + { + List newList = new List(); + newList.Add((uint)existingDisplaySources[sourceName]); + newDisplaySources[sourceName] = newList; + } + JObject newSourcesDict = JObject.FromObject(newDisplaySources); + JToken WindowsDisplayConfig = (JToken)profile.SelectToken("WindowsDisplayConfig.DisplaySources"); + WindowsDisplayConfig.Replace(newSourcesDict); + changedJson = true; + SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing Windows GDI Device Context in profile {profile.SelectToken("Name")} (index {i})."); + } + + } + } catch (JsonReaderException ex) { diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index c97b337..409eef5 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -46,7 +46,7 @@ namespace DisplayMagicianShared.Windows // Note: We purposely have left out the DisplaySources from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. - public Dictionary DisplaySources; + public Dictionary> DisplaySources; public List DisplayIdentifiers; public override bool Equals(object obj) => obj is WINDOWS_DISPLAY_CONFIG other && this.Equals(other); @@ -143,7 +143,7 @@ namespace DisplayMagicianShared.Windows myDefaultConfig.DisplayConfigPaths = new DISPLAYCONFIG_PATH_INFO[0]; myDefaultConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[0]; myDefaultConfig.DisplayIdentifiers = new List(); - myDefaultConfig.DisplaySources = new Dictionary(); + myDefaultConfig.DisplaySources = new Dictionary>(); myDefaultConfig.GdiDisplaySettings = new Dictionary(); return myDefaultConfig; @@ -304,7 +304,7 @@ namespace DisplayMagicianShared.Windows WINDOWS_DISPLAY_CONFIG windowsDisplayConfig = new WINDOWS_DISPLAY_CONFIG(); windowsDisplayConfig.DisplayAdapters = new Dictionary(); windowsDisplayConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; - windowsDisplayConfig.DisplaySources = new Dictionary(); + windowsDisplayConfig.DisplaySources = new Dictionary>(); // Now cycle through the paths and grab the HDR state information // and map the adapter name to adapter id @@ -322,7 +322,21 @@ namespace DisplayMagicianShared.Windows if (err == WIN32STATUS.ERROR_SUCCESS) { // Store it for later - windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, path.SourceInfo.Id); + if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) + { + // We already have at least one display using this source, so we need to add the other cloned display to the existing list + List sourceIds = windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName]; + sourceIds.Add(path.SourceInfo.Id); + windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); + } + else + { + // This is the first display to use this source + List sourceIds = new List(); + sourceIds.Add(path.SourceInfo.Id); + windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); + } + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); } else From a230a43fa078ca83c8cfa7f8b60e5934fe4353bf Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 17:28:35 +1300 Subject: [PATCH 019/112] Avoiding missing uplay_id game ids Some Uplay Games have the uplay_id set to zero, when they shouldn't be. Havign to take the Game ID from the Reg key path to compensate. --- DisplayMagician/GameLibraries/UplayLibrary.cs | 43 +++++++++++++++++-- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index ac0e684..c3135d8 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -545,6 +545,7 @@ namespace DisplayMagician.GameLibraries productInfo = deserializer.Deserialize(item.GameInfo); var root = productInfo.root; + string gameId = ""; string gameName = ""; string gameExePath = ""; string gameIconPath = ""; @@ -599,12 +600,19 @@ namespace DisplayMagician.GameLibraries regKeyText = regKeyText.Replace(@"\InstallDir", ""); regKeyText = regKeyText.Replace(@"Ubisoft", @"WOW6432Node\Ubisoft"); logger.Trace($"UplayLibrary/GetInstallDirFromRegKey: Accessing HKLM reg key {regKeyText}"); - if (this.GetInstallDirFromRegKey(regKeyText, out exePath)) { gameExePath = Path.Combine(exePath, executable.path.relative); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); } /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) { @@ -620,6 +628,14 @@ namespace DisplayMagician.GameLibraries gameExePath = Path.Combine(exePath, executable.path.relative); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); }*/ else if (!String.IsNullOrEmpty(executable.working_directory.append)) { @@ -627,6 +643,8 @@ namespace DisplayMagician.GameLibraries gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + gameId = productInfo.uplay_id.ToString(); + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); } else { @@ -674,7 +692,7 @@ namespace DisplayMagician.GameLibraries // Now we need to save the game name, cause if we're here then we're good enough to save // Then we have the gameID, the thumbimage, the icon, the name, the exe path // And we add the Game to the list of games we have! - _allGames.Add(new UplayGame(productInfo.uplay_id.ToString(), gameName, gameExePath, gameIconPath)); + _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); break; } @@ -707,6 +725,15 @@ namespace DisplayMagician.GameLibraries gameExePath = Path.Combine(exePath, executable.path.relative); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses local machine registry key: {executable.working_directory.register} "); } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); + } /*else if (executable.working_directory.register.StartsWith("HKEY_CURRENT_USER")) { @@ -722,6 +749,14 @@ namespace DisplayMagician.GameLibraries gameExePath = Path.Combine(exePath, executable.path.relative); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses current user registry key: {executable.working_directory.register} "); } + // Get the GameID from the reg key + string pattern = @"Installs\\(\d+)\\InstallDir"; + MatchCollection mc = Regex.Matches(executable.working_directory.register, pattern); + if (mc.Count > 0) + { + gameId = mc[0].Groups[1].Value; + } + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); }*/ else if (!String.IsNullOrEmpty(executable.working_directory.append)) { @@ -729,6 +764,8 @@ namespace DisplayMagician.GameLibraries gameExePath = Path.Combine(executable.working_directory.append, executable.path.relative); gameIconPath = Path.Combine(executable.working_directory.append, executable.icon_image); logger.Trace($"UplayLibrary/LoadInstalledGames: Relative executable uses appended file path: {executable.working_directory.append} "); + gameId = productInfo.uplay_id.ToString(); + logger.Trace($"UplayLibrary/LoadInstalledGames: Got uplay Game ID: {gameId} "); } else { @@ -776,7 +813,7 @@ namespace DisplayMagician.GameLibraries // Now we need to save the game name, cause if we're here then we're good enough to save // Then we have the gameID, the thumbimage, the icon, the name, the exe path // And we add the Game to the list of games we have! - _allGames.Add(new UplayGame(productInfo.uplay_id.ToString(), gameName, gameExePath, gameIconPath)); + _allGames.Add(new UplayGame(gameId, gameName, gameExePath, gameIconPath)); logger.Trace($"UplayLibrary/LoadInstalledGames: Adding Uplay Game with game id {productInfo.uplay_id}, name {gameName}, game exe {gameExePath} and icon path {gameIconPath}"); break; } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index ad16e06..168c68a 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.149")] -[assembly: AssemblyFileVersion("2.0.1.149")] +[assembly: AssemblyVersion("2.0.1.159")] +[assembly: AssemblyFileVersion("2.0.1.159")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 6032be043ad00887fa695da792ab4ec6282deb5a Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 21:24:59 +1300 Subject: [PATCH 020/112] Updated NVIDIALibrary to the one used in NVIDIAInfo v1.1.1 --- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 532 +++++++----------- 1 file changed, 197 insertions(+), 335 deletions(-) diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 7325e6b..f435ec3 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -717,12 +717,6 @@ namespace DisplayMagicianShared.NVIDIA } } - // If we've already got the details from the display, then skip it now - if (allColorData.ContainsKey(displayIds[displayIndex].DisplayId)) - { - continue; - } - // We get the Color Capabilities of the display NV_COLOR_DATA_V5 colorData = new NV_COLOR_DATA_V5(); // Set the command as a 'GET' @@ -1282,6 +1276,133 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile so there is nothing to do as far as NVIDIA is concerned!"); } + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off colour if it's default set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) + { + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + UInt32 displayId = colorDataDict.Key; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to process HDR Colour for display {displayId}."); + + // If this is a setting that says it will use default windows colour settings, then we turn it off + if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + } + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR colour if it's user set HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) + { + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + UInt32 displayId = hdrColorDataDict.Key; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR mode for display {displayId}."); + // if it's not an HDR then we turn off HDR + if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + } + } return true; } @@ -1294,25 +1415,40 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - /*// Now, we have to turn off any BEST_QUALITY mode settings we need to set. We have to do this before setting the HDR settings so that these settings will be applied properly - foreach (var wantedColorData in displayConfig.ColorConfig.ColorData) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on colour if it's user set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) { - // Now we set the colour settings of the display (non-HDR settings) - NV_COLOR_DATA_V5 colorData = wantedColorData.Value; + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + UInt32 displayId = colorDataDict.Key; - // Only change this color setting if we're on a different setting from the one we want, and it's turning off the USER made settings - // We'll do the turning USER override on as a separate step after the HDR is set - if (!colorData.Equals(ActiveDisplayConfig.ColorConfig.ColorData[wantedColorData.Key]) && colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to process HDR Colour for Mosaic display {displayId}."); + + // If this is a setting that says it will use default windows colour settings, then we turn it off + if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT) { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + // Set the command as a 'SET' colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(wantedColorData.Key, ref colorData); + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); switch (colorData.ColorSelectionPolicy) { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); break; case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 @@ -1325,7 +1461,7 @@ namespace DisplayMagicianShared.NVIDIA } else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {wantedColorData.Key} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { @@ -1349,336 +1485,62 @@ namespace DisplayMagicianShared.NVIDIA } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {wantedColorData.Key} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: The requested color setting is the same as the current color setting for the {wantedColorData.Key} display, so skipping setting it."); - } - - }*/ - - /*SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the NVIDIA HDR settings"); - System.Threading.Thread.Sleep(500); -*/ - - // Firstly see if we're in Mosaic Mode or not - if (displayConfig.MosaicConfig.IsMosaicEnabled) - { - // In Mosaic mode (one giant screen) - // NVIDIA force custom colour settings when in Mosaic mode, so that's what we're doing - // Now we try to set each display, at a time (using the HDR Config dictionary as a size guide) - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) - { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - UInt32 displayId = hdrColorDataDict.Key; - // First up we need to check if this HDR display - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a non-HDR mode for display {displayId}."); - // if it's not an HDR then we turn off HDR, and set the normal colour settings - // Only turn off HDR if it's not the same as now - if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) - { - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping turning off HDR Mode for display {displayId} as it's already off."); - } - - // Now apply the standard colour config, but only if it's different - if (!displayConfig.ColorConfig.ColorData[displayId].Equals(ActiveDisplayConfig.ColorConfig.ColorData[displayId])) - { - NV_COLOR_DATA_V5 colorData = displayConfig.ColorConfig.ColorData[displayId]; - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying non-HDR colour settings for display {displayId} as they are already set."); - } - - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a HDR mode for display {displayId}."); - // if it's HDR then we just set the HDR colour - if (!displayConfig.HdrConfig.HdrColorData[displayId].Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[displayId])) - { - // Apply the HDR colour - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying HDR settings for display {displayId} as they are already set."); - } - + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); } } } - else + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { - // In non-Mosaic mode (individual screens) - // Now we try to set each display, at a time (using the HDR Config dictionary as a size guide) - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + UInt32 displayId = hdrColorDataDict.Key; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR mode for Mosaic display {displayId}."); + // if it's not an HDR then we turn off HDR + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && + ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - UInt32 displayId = hdrColorDataDict.Key; - // First up we need to check if this HDR display - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a non-HDR mode for display {displayId}."); - // if it's not an HDR then we turn off HDR, and set the normal colour settings - // Only turn off HDR if it's not the same as now - if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) - { - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping turning off HDR Mode for display {displayId} as it's already off."); - } - - // Now apply the standard colour config, but only if it's different - if (!displayConfig.ColorConfig.ColorData[displayId].Equals(ActiveDisplayConfig.ColorConfig.ColorData[displayId])) - { - NV_COLOR_DATA_V5 colorData = displayConfig.ColorConfig.ColorData[displayId]; - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying non-HDR colour settings for display {displayId} as they are already set."); - } - + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to apply a HDR mode for display {displayId}."); - // if it's HDR then we just set the HDR colour - if (!displayConfig.HdrConfig.HdrColorData[displayId].Equals(ActiveDisplayConfig.HdrConfig.HdrColorData[displayId])) - { - // Apply the HDR colour - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully set the HDR mode to {hdrColorData.HdrMode.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Skipping applying HDR settings for display {displayId} as they are already set."); - } - + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); } } - } } From 7661f1dc737c231dfb71a64509e1fd259afa2974 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 21:41:34 +1300 Subject: [PATCH 021/112] Made changes to stop Cloned displays causing CTD Currently still can't get the cloned displays to get applied properly though. Looks like the cloned displays are not being recorded in the settings. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 2 +- DisplayMagicianShared/Windows/WinLibrary.cs | 17 ++++++++++++++--- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 168c68a..2f073cc 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.159")] -[assembly: AssemblyFileVersion("2.0.1.159")] +[assembly: AssemblyVersion("2.0.1.161")] +[assembly: AssemblyFileVersion("2.0.1.161")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index f435ec3..e983167 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -892,7 +892,7 @@ namespace DisplayMagicianShared.NVIDIA // Now we need to loop through each of the windows paths so we can record the Windows DisplayName to DisplayID mapping // This is needed for us to piece together the Screen layout for when we draw the NVIDIA screens! myDisplayConfig.DisplayNames = new Dictionary(); - foreach (KeyValuePair displaySource in WinLibrary.GetDisplaySourceNames()) + foreach (KeyValuePair> displaySource in WinLibrary.GetDisplaySourceNames()) { // Now we try to get the information about the displayIDs and map them to windows \\DISPLAY names e.g. \\DISPLAY1 string displayName = displaySource.Key; diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 409eef5..fb33cea 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -478,7 +478,7 @@ namespace DisplayMagicianShared.Windows return windowsDisplayConfig; } - public static Dictionary GetDisplaySourceNames() + public static Dictionary> GetDisplaySourceNames() { // Get the size of the largest Active Paths and Modes arrays SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); @@ -529,7 +529,7 @@ namespace DisplayMagicianShared.Windows } // Prepare the empty DisplaySources dictionary - Dictionary DisplaySources = new Dictionary(); + Dictionary> DisplaySources = new Dictionary>(); // Now cycle through the paths and grab the HDR state information // and map the adapter name to adapter id @@ -547,7 +547,18 @@ namespace DisplayMagicianShared.Windows if (err == WIN32STATUS.ERROR_SUCCESS) { // Store it for later - DisplaySources.Add(sourceInfo.ViewGdiDeviceName, path.SourceInfo.Id); + //DisplaySources.Add(sourceInfo.ViewGdiDeviceName, path.SourceInfo.Id); + if (DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) + { + // We want to add another cloned display + DisplaySources[sourceInfo.ViewGdiDeviceName].Add(path.SourceInfo.Id); + } + else + { + // We want to create a new list entry if there isn't one already there. + DisplaySources.Add(sourceInfo.ViewGdiDeviceName, new List { path.SourceInfo.Id }); + } + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); } else From dcde15e73b3d60597e9c76bb10fd9c883e2e717f Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 16 Oct 2021 22:03:06 +1300 Subject: [PATCH 022/112] Working cloned display WinLibrary --- DisplayMagicianShared/Windows/WinLibrary.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index fb33cea..a184a17 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -325,9 +325,7 @@ namespace DisplayMagicianShared.Windows if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) { // We already have at least one display using this source, so we need to add the other cloned display to the existing list - List sourceIds = windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName]; - sourceIds.Add(path.SourceInfo.Id); - windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); + windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(path.SourceInfo.Id); } else { @@ -336,7 +334,7 @@ namespace DisplayMagicianShared.Windows sourceIds.Add(path.SourceInfo.Id); windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); } - + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); } else @@ -558,7 +556,7 @@ namespace DisplayMagicianShared.Windows // We want to create a new list entry if there isn't one already there. DisplaySources.Add(sourceInfo.ViewGdiDeviceName, new List { path.SourceInfo.Id }); } - + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); } else From 81f2d08fe015a12045c0a1fb16150bc970c31e98 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 10:44:03 +1300 Subject: [PATCH 023/112] Fixed profile matching for cloned displays Weird error where having a clone causes an extra 'zeroed out' entry in the Windows Display Modes sequence. This change modifies the Windows mode info checks to allow for this situation. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 48 +++++++++++++------ DisplayMagicianShared/ProfileItem.cs | 48 +++++++++++++++++++ .../UserControls/DisplayView.cs | 6 ++- DisplayMagicianShared/Windows/CCD.cs | 11 +++++ 5 files changed, 99 insertions(+), 18 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 2f073cc..2d03c81 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.161")] -[assembly: AssemblyFileVersion("2.0.1.161")] +[assembly: AssemblyVersion("2.0.1.168")] +[assembly: AssemblyFileVersion("2.0.1.168")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index e983167..0dd8879 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -1283,12 +1283,12 @@ namespace DisplayMagicianShared.NVIDIA NV_COLOR_DATA_V5 colorData = colorDataDict.Value; UInt32 displayId = colorDataDict.Key; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to process HDR Colour for display {displayId}."); - // If this is a setting that says it will use default windows colour settings, then we turn it off - if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off NVIDIA customer colour settings for display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); colorData = displayConfig.ColorConfig.ColorData[displayId]; @@ -1349,6 +1349,10 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); } } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + } } SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR colour if it's user set HDR colour."); @@ -1358,10 +1362,11 @@ namespace DisplayMagicianShared.NVIDIA NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; UInt32 displayId = hdrColorDataDict.Key; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR mode for display {displayId}."); // if it's not an HDR then we turn off HDR - if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn on custom HDR mode for display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); @@ -1401,6 +1406,11 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); } } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } + } } @@ -1422,12 +1432,12 @@ namespace DisplayMagicianShared.NVIDIA NV_COLOR_DATA_V5 colorData = colorDataDict.Value; UInt32 displayId = colorDataDict.Key; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to process HDR Colour for Mosaic display {displayId}."); - - // If this is a setting that says it will use default windows colour settings, then we turn it off - if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT) + // If this is a setting that says it uses user colour settings, then we turn it off + if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); colorData = displayConfig.ColorConfig.ColorData[displayId]; @@ -1488,20 +1498,24 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); } } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + } } - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on NVIDIA HDR colour if it's user wants to use NVIDIA HDR colour."); // Now we try to set each display color foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; UInt32 displayId = hdrColorDataDict.Key; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR mode for Mosaic display {displayId}."); - // if it's not an HDR then we turn off HDR - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && - ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != NV_HDR_MODE.OFF) + // if it's HDR and it's a different mode than what we are in now, then set HDR + if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && + ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); @@ -1541,6 +1555,10 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); } } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA HDR if needed for display {displayId} and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } } } diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 27936b7..80f10f1 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -25,6 +25,8 @@ namespace DisplayMagicianShared public string Name; public string Library; public bool IsPrimary; + public bool IsClone; + public int ClonedCopies; public Color Colour; public string DisplayConnector; internal bool HDRSupported; @@ -1039,6 +1041,22 @@ namespace DisplayMagicianShared UInt32 sourceId = path.SourceInfo.Id; UInt32 targetId = path.TargetInfo.Id; + screen.IsClone = false; + screen.ClonedCopies = 0; + foreach (var displaySource in _windowsDisplayConfig.DisplaySources) + { + if (displaySource.Value.Contains(sourceId)) + { + if (displaySource.Value.Count > 1) + { + // We have a cloned display + screen.IsClone = true; + screen.ClonedCopies = displaySource.Value.Count; + } + break; + } + } + // Go through the screens as Windows knows them, and then enhance the info with Mosaic data if it applies foreach (DISPLAYCONFIG_MODE_INFO displayMode in _windowsDisplayConfig.DisplayConfigModes) @@ -1269,6 +1287,21 @@ namespace DisplayMagicianShared UInt32 sourceId = path.SourceInfo.Id; UInt32 targetId = path.TargetInfo.Id; + screen.IsClone = false; + screen.ClonedCopies = 0; + foreach (var displaySource in _windowsDisplayConfig.DisplaySources) + { + if (displaySource.Value.Contains(sourceId)) + { + if (displaySource.Value.Count > 1) + { + // We have a cloned display + screen.IsClone = true; + screen.ClonedCopies = displaySource.Value.Count; + } + break; + } + } // Go through the screens as Windows knows them, and then enhance the info with Mosaic data if it applies foreach (DISPLAYCONFIG_MODE_INFO displayMode in _windowsDisplayConfig.DisplayConfigModes) @@ -1360,6 +1393,21 @@ namespace DisplayMagicianShared UInt32 sourceId = path.SourceInfo.Id; UInt32 targetId = path.TargetInfo.Id; + screen.IsClone = false; + screen.ClonedCopies = 0; + foreach (var displaySource in _windowsDisplayConfig.DisplaySources) + { + if (displaySource.Value.Contains(sourceId)) + { + if (displaySource.Value.Count > 1) + { + // We have a cloned display + screen.IsClone = true; + screen.ClonedCopies = displaySource.Value.Count; + } + break; + } + } // Go through the screens as Windows knows them, and then enhance the info with Mosaic data if it applies foreach (DISPLAYCONFIG_MODE_INFO displayMode in _windowsDisplayConfig.DisplayConfigModes) diff --git a/DisplayMagicianShared/UserControls/DisplayView.cs b/DisplayMagicianShared/UserControls/DisplayView.cs index d3e086c..a2bc142 100644 --- a/DisplayMagicianShared/UserControls/DisplayView.cs +++ b/DisplayMagicianShared/UserControls/DisplayView.cs @@ -207,7 +207,11 @@ namespace DisplayMagicianShared.UserControls { str = $"Primary Display{Environment.NewLine}" + str; } - + if (screen.IsClone) + { + str = str + $"(+{screen.ClonedCopies-1} Clone)"; + } + DrawString(g, str, wordTextColour, selectedWordFont, wordRect.Size, wordRect.Location); // Draw the position of the screen diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index a311708..d711da2 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -637,22 +637,33 @@ namespace DisplayMagicianShared.Windows if (InfoType != other.InfoType) return false; + // This happens when it is a target mode info block if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET && Id == other.Id && TargetMode.Equals(other.TargetMode)) return true; + // This happens when it is a source mode info block if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE && //Id == other.Id && // Disabling this check as as the Display ID it maps to will change after a switch from surround to non-surround profile, ruining the equality match // Only seems to be a problem with the DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE options weirdly enough! SourceMode.Equals(other.SourceMode)) return true; + // This happens when it is a desktop image mode info block if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE && Id == other.Id && DesktopImageInfo.Equals(other.DesktopImageInfo)) return true; + // This happens when it is a clone - there is an extra entry with all zeros in it! + if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.Zero && + Id == other.Id && + DesktopImageInfo.Equals(other.DesktopImageInfo) && + TargetMode.Equals(other.TargetMode) && + SourceMode.Equals(other.SourceMode)) + return true; + return false; } From 953b72e6cd50bc868ec7175312268bdfd01e18bf Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 11:45:06 +1300 Subject: [PATCH 024/112] Fixed audio so it allows unplugged devices Fixes #39. This update allows unplugged devices to be used. ALlows people to plug in headphones, and allows users like @gpo123 to use HDMI audio on a currently disbled display. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 12 ++-- DisplayMagician/ShortcutRepository.cs | 77 ++++++++++++++-------- 3 files changed, 59 insertions(+), 34 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 2d03c81..14d31af 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.168")] -[assembly: AssemblyFileVersion("2.0.1.168")] +[assembly: AssemblyVersion("2.0.1.171")] +[assembly: AssemblyFileVersion("2.0.1.171")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 0c55eec..d4be151 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -1326,7 +1326,9 @@ namespace DisplayMagician if (worstError != ShortcutValidity.Error) worstError = ShortcutValidity.Error; } - if (audioDevice.State == DeviceState.Unplugged) + // As per Issue #39, this causes issues on HDMI audio devices and others that *could* work if the screen was enabled. + // Disabling this code as it is too much error checking for audio devices. The user can plug these in after the chagne and they will work. + /*if (audioDevice.State == DeviceState.Unplugged) { logger.Warn($"ShortcutRepository/RefreshValidity: Detected audio playback device {audioDevice.FullName} is the one we want, but it is unplugged!"); ShortcutError error = new ShortcutError(); @@ -1336,7 +1338,7 @@ namespace DisplayMagician _shortcutErrors.Add(error); if (worstError != ShortcutValidity.Error) worstError = ShortcutValidity.Warning; - } + }*/ break; } } @@ -1399,7 +1401,9 @@ namespace DisplayMagician if (worstError != ShortcutValidity.Error) worstError = ShortcutValidity.Error; } - if (captureDevice.State == DeviceState.Unplugged) + // As per Issue #39, this causes issues on HDMI audiodevices and others that *could* work if the screen was enabled. + // Disabling this code as it is too much error checking for capture devices. The user can plug these in after the chagne and they will work. + /*if (captureDevice.State == DeviceState.Unplugged) { logger.Warn($"ShortcutRepository/RefreshValidity: Detected capture device {captureDevice.FullName} is the one we want, but it is unplugged!"); ShortcutError error = new ShortcutError(); @@ -1409,7 +1413,7 @@ namespace DisplayMagician _shortcutErrors.Add(error); if (worstError != ShortcutValidity.Error) worstError = ShortcutValidity.Warning; - } + }*/ break; } } diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index b1edbf3..ee64758 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -669,7 +669,7 @@ namespace DisplayMagician } - // Get the list of Audio Devices currently connected and active + // Get the list of Audio Devices currently connected or unplugged (they can be plugged back in) bool needToChangeAudioDevice = false; CoreAudioDevice rollbackAudioDevice = null; double rollbackAudioVolume = 50; @@ -682,7 +682,8 @@ namespace DisplayMagician if (_audioController != null) { try { - activeAudioDevices = _audioController.GetPlaybackDevices(DeviceState.Active).ToList(); + activeAudioDevices = _audioController.GetPlaybackDevices(DeviceState.Active | DeviceState.Unplugged).ToList(); + bool foundAudioDevice = false; if (activeAudioDevices.Count > 0) { // Change Audio Device (if one specified) @@ -705,6 +706,7 @@ namespace DisplayMagician if (needToChangeAudioDevice) { logger.Info($"ShortcutRepository/RunShortcut: Changing to the {shortcutToUse.AudioDevice} audio device."); + foreach (CoreAudioDevice audioDevice in activeAudioDevices) { @@ -712,29 +714,38 @@ namespace DisplayMagician { // use the Audio Device audioDevice.SetAsDefault(); + foundAudioDevice = true; break; } } + + if (!foundAudioDevice) + { + logger.Error($"ShortcutRepository/RunShortcut: We wanted to use {shortcutToUse.AudioDevice} audio device but it wasn't plugged in or unplugged. Unable to use so skipping setting the audio device."); + } } else { logger.Info($"ShortcutRepository/RunShortcut: We're already using the {shortcutToUse.AudioDevice} audio device so no need to change audio devices."); } - if (shortcutToUse.SetAudioVolume) + if (foundAudioDevice) { - logger.Info($"ShortcutRepository/RunShortcut: Setting {shortcutToUse.AudioDevice} volume level to {shortcutToUse.AudioVolume}%."); - Task myTask = new Task(() => + if (shortcutToUse.SetAudioVolume) { - _audioController.DefaultPlaybackDevice.SetVolumeAsync(Convert.ToDouble(shortcutToUse.AudioVolume)); - }); - myTask.Start(); - myTask.Wait(2000); - } - else - { - logger.Info($"ShortcutRepository/RunShortcut: We don't need to set the {shortcutToUse.AudioDevice} volume level."); - } + logger.Info($"ShortcutRepository/RunShortcut: Setting {shortcutToUse.AudioDevice} volume level to {shortcutToUse.AudioVolume}%."); + Task myTask = new Task(() => + { + _audioController.DefaultPlaybackDevice.SetVolumeAsync(Convert.ToDouble(shortcutToUse.AudioVolume)); + }); + myTask.Start(); + myTask.Wait(2000); + } + else + { + logger.Info($"ShortcutRepository/RunShortcut: We don't need to set the {shortcutToUse.AudioDevice} volume level."); + } + } } else { @@ -754,8 +765,9 @@ namespace DisplayMagician try { - // Get the list of Audio Devices currently connected - activeCaptureDevices = _audioController.GetCaptureDevices(DeviceState.Active).ToList(); + // Get the list of Capture Devices currently connected or currently unplugged (they can be plugged back in) + activeCaptureDevices = _audioController.GetCaptureDevices(DeviceState.Active | DeviceState.Unplugged).ToList(); + bool foundCaptureDevice = false; if (activeCaptureDevices.Count > 0) { @@ -784,29 +796,38 @@ namespace DisplayMagician { // use the Audio Device captureDevice.SetAsDefault(); + foundCaptureDevice = true; break; } } + + if (!foundCaptureDevice) + { + logger.Error($"ShortcutRepository/RunShortcut: We wanted to use {shortcutToUse.CaptureDevice} capture (microphone) device but it wasn't plugged in or unplugged. Unable to use so skipping setting the capture device."); + } } else { logger.Info($"ShortcutRepository/RunShortcut: We're already using the {shortcutToUse.CaptureDevice} capture (microphone) device so no need to change capture devices."); } - if (shortcutToUse.SetCaptureVolume) + if (foundCaptureDevice) { - logger.Info($"ShortcutRepository/RunShortcut: Setting {shortcutToUse.CaptureDevice} capture (microphone) level to {shortcutToUse.CaptureVolume}%."); - Task myTask = new Task(() => + if (shortcutToUse.SetCaptureVolume) { - _audioController.DefaultCaptureDevice.SetVolumeAsync(Convert.ToDouble(shortcutToUse.CaptureVolume)); - }); - myTask.Start(); - myTask.Wait(2000); - } - else - { - logger.Info($"ShortcutRepository/RunShortcut: We don't need to set the {shortcutToUse.CaptureDevice} capture (microphone) volume level."); - } + logger.Info($"ShortcutRepository/RunShortcut: Setting {shortcutToUse.CaptureDevice} capture (microphone) level to {shortcutToUse.CaptureVolume}%."); + Task myTask = new Task(() => + { + _audioController.DefaultCaptureDevice.SetVolumeAsync(Convert.ToDouble(shortcutToUse.CaptureVolume)); + }); + myTask.Start(); + myTask.Wait(2000); + } + else + { + logger.Info($"ShortcutRepository/RunShortcut: We don't need to set the {shortcutToUse.CaptureDevice} capture (microphone) volume level."); + } + } } else From e174276623d7c608e36ef44f62cde2ddaed77eb1 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 11:47:18 +1300 Subject: [PATCH 025/112] Updated DisplayMagician to v2.1.0 Updated DisplayMagician to v2.1.0 in preparation for imminent release! So very close now, and only a couple more features to be added and improved. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 14d31af..473fd99 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.0.1.171")] -[assembly: AssemblyFileVersion("2.0.1.171")] +[assembly: AssemblyVersion("2.1.0.0")] +[assembly: AssemblyFileVersion("2.1.0.0")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 9f7db6db88fb6476015ef885739be6fbba49834e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 11:50:31 +1300 Subject: [PATCH 026/112] Updated assembly version --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 473fd99..ea9c47f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.0")] -[assembly: AssemblyFileVersion("2.1.0.0")] +[assembly: AssemblyVersion("2.1.0.1")] +[assembly: AssemblyFileVersion("2.1.0.1")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 2ee4c90c3c6db6d58f2a3c96223e20e01b20f764 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 20:55:59 +1300 Subject: [PATCH 027/112] Small improvement in video library access speed --- DisplayMagicianShared/ProfileItem.cs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 80f10f1..39d0067 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -469,14 +469,17 @@ namespace DisplayMagicianShared // Create defaults for NVIDIA and AMD so that the JSON file can save properly // (C# Structs populate with default values which mean that arrays start with null) - if (VideoMode == VIDEO_MODE.NVIDIA && NVIDIALibrary.GetLibrary().IsInstalled) + NVIDIALibrary nvidiaLibrary = NVIDIALibrary.GetLibrary(); + AMDLibrary amdLibrary = AMDLibrary.GetLibrary(); + WinLibrary winLibrary = WinLibrary.GetLibrary(); + + if (VideoMode == VIDEO_MODE.NVIDIA && nvidiaLibrary.IsInstalled) { - NVIDIALibrary nvidiaLibrary = NVIDIALibrary.GetLibrary(); if (nvidiaLibrary.IsInstalled) { // Create the profile data from the current config _nvidiaDisplayConfig = nvidiaLibrary.GetActiveConfig(); - _windowsDisplayConfig = WinLibrary.GetLibrary().GetActiveConfig(); + _windowsDisplayConfig = winLibrary.GetActiveConfig(); _profileDisplayIdentifiers = nvidiaLibrary.GetCurrentDisplayIdentifiers(); // Now, since the ActiveProfile has changed, we need to regenerate screen positions @@ -491,12 +494,11 @@ namespace DisplayMagicianShared } else if(VideoMode == VIDEO_MODE.AMD && AMDLibrary.GetLibrary().IsInstalled) { - AMDLibrary amdLibrary = AMDLibrary.GetLibrary(); if (amdLibrary.IsInstalled) { // Create the profile data from the current config _amdDisplayConfig = amdLibrary.GetActiveConfig(); - _windowsDisplayConfig = WinLibrary.GetLibrary().GetActiveConfig(); + _windowsDisplayConfig = winLibrary.GetActiveConfig(); _profileDisplayIdentifiers = amdLibrary.GetCurrentDisplayIdentifiers(); // Now, since the ActiveProfile has changed, we need to regenerate screen positions @@ -511,7 +513,6 @@ namespace DisplayMagicianShared } else if (VideoMode == VIDEO_MODE.WINDOWS) { - WinLibrary winLibrary = WinLibrary.GetLibrary(); if (winLibrary.IsInstalled) { // Create the profile data from the current config @@ -535,14 +536,6 @@ namespace DisplayMagicianShared } } - /*public bool PerformPostLoadingTasks() - { - // First thing we do is to set up the Screens - //_screens = GetScreenPositions(); - - return true; - }*/ - // ReSharper disable once FunctionComplexityOverflow // ReSharper disable once CyclomaticComplexity From e905086dd9d6a8a5980ee8b9566df191bea65dd4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 21:11:24 +1300 Subject: [PATCH 028/112] New build version --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index ea9c47f..f15f777 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.1")] -[assembly: AssemblyFileVersion("2.1.0.1")] +[assembly: AssemblyVersion("2.1.0.2")] +[assembly: AssemblyFileVersion("2.1.0.2")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 9b4090fc34907b9984749965034cb4b45166a0f5 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 21:54:58 +1300 Subject: [PATCH 029/112] Partially update the files in setup Still missing some I think? Also now have a problem with the application hanging on startup. --- DisplayMagician/DisplayMagician.csproj | 3 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- .../DisplayMagicianFilesFragment.wxs | 20 +++++++++++++------ .../DisplayMagicianShared.csproj | 3 --- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 0b110c3..5e40046 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -279,9 +279,6 @@ 2.8.0.16 - - 1.11.36 - 0.73.0 diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index f15f777..591210b 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.2")] -[assembly: AssemblyFileVersion("2.1.0.2")] +[assembly: AssemblyVersion("2.1.0.5")] +[assembly: AssemblyFileVersion("2.1.0.5")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs index a826797..d531bef 100644 --- a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs +++ b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs @@ -37,10 +37,7 @@ --> - - - - + @@ -77,6 +74,12 @@ + + + + + + @@ -101,6 +104,9 @@ + + + @@ -113,7 +119,6 @@ - @@ -135,6 +140,9 @@ - + + + + \ No newline at end of file diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index bd68597..907e641 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -104,9 +104,6 @@ - - 3.2.0 - 1.2.5.4 From ecba3067324726b2ce8e9f70a3d2c62f0416dd96 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 17 Oct 2021 22:34:48 +1300 Subject: [PATCH 030/112] Added required DLLs to the installer --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- .../DisplayMagicianFilesFragment.wxs | 36 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 591210b..c9e7b92 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.5")] -[assembly: AssemblyFileVersion("2.1.0.5")] +[assembly: AssemblyVersion("2.1.0.7")] +[assembly: AssemblyFileVersion("2.1.0.7")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs index d531bef..550f7f3 100644 --- a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs +++ b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs @@ -83,9 +83,6 @@ - - - @@ -104,10 +101,28 @@ - - + + - + + + + + + + + + + + + + + + + + + + @@ -129,7 +144,6 @@ - @@ -143,6 +157,12 @@ - + + + + + + + \ No newline at end of file From 816e1a701fa22105229c6b0095ca70566e9bdd4b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 20 Oct 2021 18:06:02 +1300 Subject: [PATCH 031/112] Updated WinLibrary to latest version Now supports cloned displays. Also modified a log entry from error to trace. --- DisplayMagician/UIForms/DisplayProfileForm.cs | 11 +- DisplayMagicianShared/Windows/CCD.cs | 9 +- DisplayMagicianShared/Windows/GDI.cs | 2 +- DisplayMagicianShared/Windows/WinLibrary.cs | 165 +++++++++--------- 4 files changed, 103 insertions(+), 84 deletions(-) diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 1509888..2bf6413 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -56,10 +56,19 @@ namespace DisplayMagician.UIForms // Apply the Profile if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Successful) { - logger.Error($"DisplayProfileForm/Apply_Click: Waiting 0.5 sec for the display to apply"); + logger.Trace($"DisplayProfileForm/Apply_Click: The Profile {_selectedProfile.Name} was successfully applied. Waiting 0.5 sec for the display to settle after the change."); System.Threading.Thread.Sleep(500); + logger.Trace($"DisplayProfileForm/Apply_Click: Changing the selected profile in the imagelistview to Profile {_selectedProfile.Name}."); ChangeSelectedProfile(_selectedProfile); } + else if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Cancelled) + { + logger.Warn($"DisplayProfileForm/Apply_Click: The user cancelled changing to Profile {_selectedProfile.Name}."); + } + else + { + logger.Warn($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); + } } diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index d711da2..47a5a13 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -98,7 +98,7 @@ namespace DisplayMagicianShared.Windows public enum DISPLAYCONFIG_TOPOLOGY_ID : uint { Zero = 0x0, - DISPLAYCONFIG_TOPOLOGY_public = 0x00000001, + DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, @@ -106,7 +106,7 @@ namespace DisplayMagicianShared.Windows } [Flags] - public enum DISPLAYCONFIG_PATH : uint + public enum DISPLAYCONFIG_PATH_FLAGS : uint { Zero = 0x0, DISPLAYCONFIG_PATH_ACTIVE = 0x00000001, @@ -566,7 +566,7 @@ namespace DisplayMagicianShared.Windows public bool Equals(DISPLAYCONFIG_PATH_TARGET_INFO other) => // AdapterId.Equals(other.AdapterId) && // Removed the AdapterId from the Equals, as it changes after reboot. - Id == other.Id && + // Id == other.Id && // Removed as ID changes after reboot when the display is a cloned copy :( ModeInfoIdx == other.ModeInfoIdx && OutputTechnology.Equals(other.OutputTechnology) && Rotation.Equals(other.Rotation) && @@ -591,7 +591,7 @@ namespace DisplayMagicianShared.Windows { public DISPLAYCONFIG_PATH_SOURCE_INFO SourceInfo; public DISPLAYCONFIG_PATH_TARGET_INFO TargetInfo; - public uint Flags; + public DISPLAYCONFIG_PATH_FLAGS Flags; public override bool Equals(object obj) => obj is DISPLAYCONFIG_PATH_INFO other && this.Equals(other); public bool Equals(DISPLAYCONFIG_PATH_INFO other) @@ -988,6 +988,7 @@ namespace DisplayMagicianShared.Windows { // Set some useful constants public const SDC SDC_CCD_TEST_IF_VALID = (SDC.SDC_VALIDATE | SDC.SDC_USE_SUPPLIED_DISPLAY_CONFIG); + public const uint DISPLAYCONFIG_PATH_MODE_IDX_INVALID = 0xffffffff; // GetDisplayConfigBufferSizes diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs index 9007019..b63a1db 100644 --- a/DisplayMagicianShared/Windows/GDI.cs +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -421,7 +421,7 @@ namespace DisplayMagicianShared.Windows public bool Equals(DISPLAY_DEVICE other) => Size == other.Size && - DeviceName == other.DeviceName && + // DeviceName == other.DeviceName && // Had to remove this as the device name often changes after a reboot! DeviceString == other.DeviceString && StateFlags == other.StateFlags && DeviceId == other.DeviceId && diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index a184a17..de18242 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -22,7 +22,7 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is ADVANCED_HDR_INFO_PER_PATH other && this.Equals(other); public bool Equals(ADVANCED_HDR_INFO_PER_PATH other) => // AdapterId.Equals(other.AdapterId) && // Removed the AdapterId from the Equals, as it changes after reboot. - Id == other.Id && + //Id == other.Id && // Removed the ID too, as that changes if the user has a Clone! AdvancedColorInfo.Equals(other.AdvancedColorInfo) && SDRWhiteLevel.Equals(other.SDRWhiteLevel); public override int GetHashCode() @@ -43,6 +43,7 @@ namespace DisplayMagicianShared.Windows public DISPLAYCONFIG_MODE_INFO[] DisplayConfigModes; public ADVANCED_HDR_INFO_PER_PATH[] DisplayHDRStates; public Dictionary GdiDisplaySettings; + public bool IsCloned; // Note: We purposely have left out the DisplaySources from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. @@ -51,7 +52,8 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is WINDOWS_DISPLAY_CONFIG other && this.Equals(other); public bool Equals(WINDOWS_DISPLAY_CONFIG other) - => DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && + => IsCloned == other.IsCloned && + DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && GdiDisplaySettings.SequenceEqual(other.GdiDisplaySettings) && @@ -59,7 +61,7 @@ namespace DisplayMagicianShared.Windows public override int GetHashCode() { - return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings, DisplayIdentifiers).GetHashCode(); + return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings, IsCloned, DisplayIdentifiers).GetHashCode(); } public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -144,6 +146,7 @@ namespace DisplayMagicianShared.Windows myDefaultConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[0]; myDefaultConfig.DisplayIdentifiers = new List(); myDefaultConfig.DisplaySources = new Dictionary>(); + myDefaultConfig.IsCloned = false; myDefaultConfig.GdiDisplaySettings = new Dictionary(); return myDefaultConfig; @@ -305,19 +308,24 @@ namespace DisplayMagicianShared.Windows windowsDisplayConfig.DisplayAdapters = new Dictionary(); windowsDisplayConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; windowsDisplayConfig.DisplaySources = new Dictionary>(); + windowsDisplayConfig.IsCloned = false; // Now cycle through the paths and grab the HDR state information // and map the adapter name to adapter id var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; int hdrInfoCount = 0; - foreach (var path in paths) + for (int i = 0; i < paths.Length; i++) { + //DISPLAYCONFIG_PATH_INFO path = paths[i]; + + // Track if this display is a cloned path + bool isClonedPath = false; // get display source name var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; sourceInfo.Header.Size = (uint)Marshal.SizeOf(); - sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; - sourceInfo.Header.Id = path.SourceInfo.Id; + sourceInfo.Header.AdapterId = paths[i].SourceInfo.AdapterId; + sourceInfo.Header.Id = paths[i].SourceInfo.Id; err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { @@ -325,98 +333,111 @@ namespace DisplayMagicianShared.Windows if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) { // We already have at least one display using this source, so we need to add the other cloned display to the existing list - windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(path.SourceInfo.Id); + windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(paths[i].SourceInfo.Id); + isClonedPath = true; + windowsDisplayConfig.IsCloned = true; } else { // This is the first display to use this source List sourceIds = new List(); - sourceIds.Add(path.SourceInfo.Id); + sourceIds.Add(paths[i].SourceInfo.Id); windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); } - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {paths[i].SourceInfo.Id}."); } else { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{path.SourceInfo.AdapterId}"); + SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{paths[i].SourceInfo.AdapterId}"); + } + + // Check if this path is a cloned display path, and if so make some changes + // so that the cloned display will be applied properly + if (isClonedPath) + { + // We need to make some modifications to this path so that we store as ready for being applied + // https://docs.microsoft.com/en-us/windows-hardware/drivers/display/ccd-example-code + paths[i].Flags |= DISPLAYCONFIG_PATH_FLAGS.DISPLAYCONFIG_PATH_ACTIVE; + paths[i].SourceInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; + paths[i].TargetInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; } // Get adapter ID for later - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get adapter name for adapter {path.TargetInfo.AdapterId.Value}."); - if (!windowsDisplayConfig.DisplayAdapters.ContainsKey(path.TargetInfo.AdapterId.Value)) + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); + if (!windowsDisplayConfig.DisplayAdapters.ContainsKey(paths[i].TargetInfo.AdapterId.Value)) { var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; adapterInfo.Header.Size = (uint)Marshal.SizeOf(); - adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; - adapterInfo.Header.Id = path.TargetInfo.Id; + adapterInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + adapterInfo.Header.Id = paths[i].TargetInfo.Id; err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { // Store it for later - windowsDisplayConfig.DisplayAdapters.Add(path.TargetInfo.AdapterId.Value, adapterInfo.AdapterDevicePath); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found adapter name {adapterInfo.AdapterDevicePath} for adapter {path.TargetInfo.AdapterId.Value}."); + windowsDisplayConfig.DisplayAdapters.Add(paths[i].TargetInfo.AdapterId.Value, adapterInfo.AdapterDevicePath); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found adapter name {adapterInfo.AdapterDevicePath} for adapter {paths[i].TargetInfo.AdapterId.Value}."); } else { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to query the adapter name for adapter {path.TargetInfo.AdapterId.Value}."); + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to query the adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); } } // Get advanced color info - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get advanced color info for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get advanced color info for display {paths[i].TargetInfo.Id}."); var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; colorInfo.Header.Size = (uint)Marshal.SizeOf(); - colorInfo.Header.AdapterId = path.TargetInfo.AdapterId; - colorInfo.Header.Id = path.TargetInfo.Id; + colorInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + colorInfo.Header.Id = paths[i].TargetInfo.Id; err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found color info for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found color info for display {paths[i].TargetInfo.Id}."); if (colorInfo.AdvancedColorSupported) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is supported for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is supported for display {paths[i].TargetInfo.Id}."); } else { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT supported for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT supported for display {paths[i].TargetInfo.Id}."); } if (colorInfo.AdvancedColorEnabled) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is enabled for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is enabled for display {paths[i].TargetInfo.Id}."); } else { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT enabled for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT enabled for display {paths[i].TargetInfo.Id}."); } } else { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {path.TargetInfo.Id}."); + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {paths[i].TargetInfo.Id}."); } // get SDR white levels - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get SDR white levels for adapter {path.TargetInfo.AdapterId.Value}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get SDR white levels for adapter {paths[i].TargetInfo.AdapterId.Value}."); var whiteLevelInfo = new DISPLAYCONFIG_SDR_WHITE_LEVEL(); whiteLevelInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL; whiteLevelInfo.Header.Size = (uint)Marshal.SizeOf(); - whiteLevelInfo.Header.AdapterId = path.TargetInfo.AdapterId; - whiteLevelInfo.Header.Id = path.TargetInfo.Id; + whiteLevelInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + whiteLevelInfo.Header.Id = paths[i].TargetInfo.Id; err = CCDImport.DisplayConfigGetDeviceInfo(ref whiteLevelInfo); if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White levels for display {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White levels for display {paths[i].TargetInfo.Id}."); } else { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get SDR White levels for display {path.TargetInfo.Id}."); + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get SDR White levels for display {paths[i].TargetInfo.Id}."); } hdrInfos[hdrInfoCount] = new ADVANCED_HDR_INFO_PER_PATH(); - hdrInfos[hdrInfoCount].AdapterId = path.TargetInfo.AdapterId; - hdrInfos[hdrInfoCount].Id = path.TargetInfo.Id; + hdrInfos[hdrInfoCount].AdapterId = paths[i].TargetInfo.AdapterId; + hdrInfos[hdrInfoCount].Id = paths[i].TargetInfo.Id; hdrInfos[hdrInfoCount].AdvancedColorInfo = colorInfo; hdrInfos[hdrInfoCount].SDRWhiteLevel = whiteLevelInfo; hdrInfoCount++; @@ -581,55 +602,20 @@ namespace DisplayMagicianShared.Windows public string PrintActiveConfig() { string stringToReturn = ""; + + // Get the current config + WINDOWS_DISPLAY_CONFIG displayConfig = GetActiveConfig(); + + WIN32STATUS err = WIN32STATUS.ERROR_GEN_FAILURE; stringToReturn += $"****** WINDOWS CCD CONFIGURATION *******\n"; + stringToReturn += $"Display profile contains cloned screens: {displayConfig.IsCloned}\n"; + stringToReturn += $"\n"; + // Get the size of the largest Active Paths and Modes arrays int pathCount = 0; int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - } - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Getting the current Display Config path and mode arrays"); - var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Getting the size of the largest Active Paths and Modes arrays"); - // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again - // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig - err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - } - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Getting the current Display Config path and mode arrays"); - paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); - } - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); - } - - foreach (var path in paths) + foreach (var path in displayConfig.DisplayConfigPaths) { stringToReturn += $"----++++==== Path ====++++----\n"; @@ -645,6 +631,17 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); stringToReturn += $"****** Interrogating Display Source {path.SourceInfo.Id} *******\n"; stringToReturn += $"Found Display Source {sourceInfo.ViewGdiDeviceName}\n"; + if (displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count > 1) + { + stringToReturn += $"Display Source is Cloned: true\n"; + stringToReturn += $"Number of Display Source clones: {displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count - 1}\n"; + } + else + { + stringToReturn += $"Display Source is Cloned: false\n"; + stringToReturn += $"Number of Display Source clones: 0\n"; + + } stringToReturn += $"\n"; } else @@ -915,6 +912,17 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Generating a list of all the current display configs"); WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); + if (displayConfig.IsCloned) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have a cloned display in this display profile, so using the Windows GDI to set the layout"); + } + else + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile, so using the Windows CCD to set the layout"); + } + + + // Now we go through the Paths to update the LUIDs as per Soroush's suggestion SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); @@ -1007,7 +1015,8 @@ namespace DisplayMagicianShared.Windows GDI_DISPLAY_SETTING displayDeviceSettings = myGdiDisplaySettings.Value; SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceName}."); DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; - CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(displayDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + //CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(displayDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(null, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); if (result == CHANGE_DISPLAY_RESULTS.Successful) { SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceName} to use the new mode!"); From 475241d7f0edc670ec70922255accd0790ca85d3 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 20 Oct 2021 18:07:16 +1300 Subject: [PATCH 032/112] Update to v2.1.0.9 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- displaymagician/uiforms/displayprofileform.cs | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index c9e7b92..f221d1d 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.7")] -[assembly: AssemblyFileVersion("2.1.0.7")] +[assembly: AssemblyVersion("2.1.0.9")] +[assembly: AssemblyFileVersion("2.1.0.9")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 1509888..2bf6413 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -56,10 +56,19 @@ namespace DisplayMagician.UIForms // Apply the Profile if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Successful) { - logger.Error($"DisplayProfileForm/Apply_Click: Waiting 0.5 sec for the display to apply"); + logger.Trace($"DisplayProfileForm/Apply_Click: The Profile {_selectedProfile.Name} was successfully applied. Waiting 0.5 sec for the display to settle after the change."); System.Threading.Thread.Sleep(500); + logger.Trace($"DisplayProfileForm/Apply_Click: Changing the selected profile in the imagelistview to Profile {_selectedProfile.Name}."); ChangeSelectedProfile(_selectedProfile); } + else if (ProfileRepository.ApplyProfile(_selectedProfile) == ApplyProfileResult.Cancelled) + { + logger.Warn($"DisplayProfileForm/Apply_Click: The user cancelled changing to Profile {_selectedProfile.Name}."); + } + else + { + logger.Warn($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); + } } From 76fba0d2ef30e9606f02a99cc1cfa9ae084070cd Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 23 Oct 2021 15:24:32 +1300 Subject: [PATCH 033/112] Updated WinLibrary to support cloned displays --- DisplayMagicianShared/Windows/WinLibrary.cs | 191 +++++++++++++------- 1 file changed, 128 insertions(+), 63 deletions(-) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index de18242..e983d36 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -310,13 +310,35 @@ namespace DisplayMagicianShared.Windows windowsDisplayConfig.DisplaySources = new Dictionary>(); windowsDisplayConfig.IsCloned = false; + // First of all generate the current displayIdentifiers + windowsDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); + + // Next, extract the UID entries for the displays as that's what the Path IDs are normally supposed to be + // This is how we know the actual target id's ofd the monitors currently connected + Regex rx = new Regex(@"UID(?\d+)#", RegexOptions.Compiled | RegexOptions.IgnoreCase); + HashSet physicalTargetIdsToFind = new HashSet(); + foreach (string displayIdentifier in windowsDisplayConfig.DisplayIdentifiers) + { + MatchCollection mc = rx.Matches(displayIdentifier); + if (mc.Count > 0) + { + physicalTargetIdsToFind.Add(UInt32.Parse(mc[0].Groups["uid"].Value)); + } + } + // Now cycle through the paths and grab the HDR state information // and map the adapter name to adapter id + HashSet targetIdsToChange = new HashSet(); var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; int hdrInfoCount = 0; for (int i = 0; i < paths.Length; i++) { - //DISPLAYCONFIG_PATH_INFO path = paths[i]; + // Figure out if this path has a physical targetId, and if it doesn't store it + if (!physicalTargetIdsToFind.Contains(paths[i].TargetInfo.Id)) + { + // Add to the list of physical path target ids we need to patch later + targetIdsToChange.Add(paths[i].TargetInfo.Id); + } // Track if this display is a cloned path bool isClonedPath = false; @@ -443,8 +465,40 @@ namespace DisplayMagicianShared.Windows hdrInfoCount++; } + // Now we need to figure out the maps between the cloned ID and the real physical target id + // the Advanced color info structure actually holds this information! So lets mine it. + Dictionary targetIdMap = new Dictionary(); + foreach (var hdrInfo in hdrInfos) + { + targetIdMap[hdrInfo.Id] = hdrInfo.AdvancedColorInfo.Header.Id; + } + + // Now we need to go through the list of paths again and patch the 'cloned' displays with a real display ID so the config works + for (int i = 0; i < paths.Length; i++) + { + if (targetIdsToChange.Contains(paths[i].TargetInfo.Id)) + { + // Patch the cloned ids with a real working one! + paths[i].TargetInfo.Id = targetIdMap[paths[i].TargetInfo.Id]; + } + } + + + // Store the active paths and modes in our display config object + windowsDisplayConfig.DisplayConfigPaths = paths; + windowsDisplayConfig.DisplayConfigModes = modes; + windowsDisplayConfig.DisplayHDRStates = hdrInfos; + windowsDisplayConfig.GdiDisplaySettings = GetGdiDisplaySettings(); + + + return windowsDisplayConfig; + } + + public Dictionary GetGdiDisplaySettings() + { // Get the list of all display adapters in this machine through GDI Dictionary gdiDeviceSettings = new Dictionary(); + Dictionary gdiDeviceSources = new Dictionary(); UInt32 displayDeviceNum = 0; DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); displayDevice.Size = (UInt32)Marshal.SizeOf(); @@ -472,7 +526,8 @@ namespace DisplayMagicianShared.Windows // This is a primary device, so we'll set that too. myDisplaySetting.IsPrimary = true; } - gdiDeviceSettings[displayDevice.DeviceName] = myDisplaySetting; + gdiDeviceSettings[displayDevice.DeviceKey] = myDisplaySetting; + gdiDeviceSources[displayDevice.DeviceName] = displayDevice.DeviceKey; } else { @@ -486,15 +541,7 @@ namespace DisplayMagicianShared.Windows displayDeviceNum++; } - - // Store the active paths and modes in our display config object - windowsDisplayConfig.DisplayConfigPaths = paths; - windowsDisplayConfig.DisplayConfigModes = modes; - windowsDisplayConfig.DisplayHDRStates = hdrInfos; - windowsDisplayConfig.GdiDisplaySettings = gdiDeviceSettings; - windowsDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); - - return windowsDisplayConfig; + return gdiDeviceSettings; } public static Dictionary> GetDisplaySourceNames() @@ -921,8 +968,6 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile, so using the Windows CCD to set the layout"); } - - // Now we go through the Paths to update the LUIDs as per Soroush's suggestion SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); @@ -938,13 +983,13 @@ namespace DisplayMagicianShared.Windows } else { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - SetDisplayConfig couldn't validate the display configuration supplied. This display configuration wouldn't work."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - SetDisplayConfig couldn't validate the display configuration supplied. This display configuration won't work if applied."); return false; } SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Yay! The display configuration is valid! Attempting to set the Display Config now"); // Now set the specified display configuration for this computer - err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET); + err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); if (err == WIN32STATUS.ERROR_SUCCESS) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully set the display configuration to the settings supplied!"); @@ -1007,61 +1052,72 @@ namespace DisplayMagicianShared.Windows } - // Attempt to set the display adapters in this machine through GDI - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API"); + // Get the existing displays + Dictionary currentGdiDisplaySettings = GetGdiDisplaySettings(); + + // Apply the previously saved display settings to the new displays (match them up) + // NOTE: This may be the only mode needed once it's completed. + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); foreach (var myGdiDisplaySettings in displayConfig.GdiDisplaySettings) { - string displayDeviceName = myGdiDisplaySettings.Key; + string displayDeviceKey = myGdiDisplaySettings.Key; GDI_DISPLAY_SETTING displayDeviceSettings = myGdiDisplaySettings.Value; - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceName}."); - DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; - //CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(displayDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); - CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(null, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); - if (result == CHANGE_DISPLAY_RESULTS.Successful) + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); + + if (currentGdiDisplaySettings.ContainsKey(displayDeviceKey)) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceName} to use the new mode!"); - } - else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceName} not updated to new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid set of flags was passed in. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadMode) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The graphics mode is not supported. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadParam) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.Failed) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: Unable to write new settings to the registry. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.Restart) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceName} not updated to use the new mode."); - return false; - } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceName} not updated to use the new mode."); + string currentDeviceName = currentGdiDisplaySettings[displayDeviceKey].Device.DeviceName; + DEVICE_MODE currentModeToUse = currentGdiDisplaySettings[displayDeviceKey].DeviceMode; + DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; + + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + if (result == CHANGE_DISPLAY_RESULTS.Successful) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); + } + else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceKey} not updated to new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadMode) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadParam) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Failed) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: Unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Restart) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} not updated to use the new mode."); + } } } + return true; } @@ -1312,6 +1368,15 @@ namespace DisplayMagicianShared.Windows displayInfo.Add("#"); } try + { + displayInfo.Add(targetInfo.MonitorDevicePath.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Path Target Info Id from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try { displayInfo.Add(targetInfo.MonitorFriendlyDeviceName.ToString()); } From 707c43375dfd3620c57ca6cfaca90087771bedc4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 23 Oct 2021 15:30:20 +1300 Subject: [PATCH 034/112] Changed DisplayProfile file location to DisplayProfiles_2.1.json There have been such large changes with v2.1.0 that I've had to move to a new file display profile format again :(. I'm really hopeful this will be the last time, as it seems to cope with all the different display layouts, colour settings, hdr etc. --- DisplayMagicianShared/ProfileRepository.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 12f10f3..e0de35e 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -63,7 +63,7 @@ namespace DisplayMagicianShared public static string AppIconPath = System.IO.Path.Combine(AppDataPath, $"Icons"); public static string AppDisplayMagicianIconFilename = System.IO.Path.Combine(AppIconPath, @"DisplayMagician.ico"); private static readonly string AppProfileStoragePath = System.IO.Path.Combine(AppDataPath, $"Profiles"); - private static readonly string _profileStorageJsonFileName = System.IO.Path.Combine(AppProfileStoragePath, $"DisplayProfiles_2.0.json"); + private static readonly string _profileStorageJsonFileName = System.IO.Path.Combine(AppProfileStoragePath, $"DisplayProfiles_2.1.json"); @@ -800,7 +800,7 @@ namespace DisplayMagicianShared // We do the change we wre trying to do try { - // Now we try and add a default NVIDIA Color Settings if there isn't one + /*// Now we try and add a default NVIDIA Color Settings if there isn't one SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Looking for missing NVIDIA Color Config."); // Create a default object NVIDIA_DISPLAY_CONFIG myDefaultConfig = new NVIDIA_DISPLAY_CONFIG(); @@ -872,7 +872,7 @@ namespace DisplayMagicianShared SharedLogger.logger.Trace($"ProfileRepository/MigrateJsonToLatestVersion: Patched missing Windows GDI Device Context in profile {profile.SelectToken("Name")} (index {i})."); } - } + } */ } catch (JsonReaderException ex) From ab7eb4687cf8da2e8e1a4156625b4c24ae11e5c2 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 23 Oct 2021 15:39:12 +1300 Subject: [PATCH 035/112] Update warning message to include 2.0 to 2.1 upgrade Unfortunately with the number of DisplayProfile changes I've had to make I am going to have to force people to recreate their DisplayProfiles again :(. This is neeed so that I can support cloned displays and HDR and basic colour settings. This has all taken a lot of working out, but I can't convert the old DisplayProfiles format to the new one as there is just too much missing data in there. --- DisplayMagician/Program.cs | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 21e3f57..7c00fe4 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -236,14 +236,14 @@ namespace DisplayMagician { // Check if it's an upgrade from DisplayMagician v1 to v2 // and if it is then copy the old configs to the new filenames and // explain to the user what they need to do. - // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.0.json doesn't - if (File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_1.0.json")) && !File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_2.0.json"))) + // e.g. DisplayProfiles_1.0.json exists, but DisplayProfiles_2.1.json doesn't + if (File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_1.0.json")) && !File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_2.1.json"))) { - logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1 to DisplayMagician v2, so performing some upgrade steps."); + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v1.0 to DisplayMagician v2.1, so performing some upgrade steps."); // Note whether we copied the old Settings file to the new v2 name earlier (before the logging was enabled) if (upgradedSettingsFile) { - logger.Info($"Program/Main: Upgraded v1 settings file {oldSettingsFile} to v2 settings file {newSettingsFile} earlier in loading process (before logging service was available)."); + logger.Info($"Program/Main: Upgraded v1.0 settings file {oldSettingsFile} to v2.0 settings file {newSettingsFile} earlier in loading process (before logging service was available)."); } // Copy the old Game Shortcuts file to the new v2 name @@ -259,14 +259,29 @@ namespace DisplayMagician { } catch(Exception ex) { - logger.Error(ex, $"Program/Main: Exception upgrading v1 shortcut file {oldShortcutsFile} to v2 shortcut file {ShortcutRepository.ShortcutStorageFileName}."); + logger.Error(ex, $"Program/Main: Exception upgrading v1.0 shortcut file {oldShortcutsFile} to v2.0 shortcut file {ShortcutRepository.ShortcutStorageFileName}."); } // Warn the user about the fact we need a new DisplayProfiles_2.0.json StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagician1to2.rtf"; - myMessageWindow.HeadingText = "DisplayMagician v2.0.0 Upgrade Warning"; + myMessageWindow.HeadingText = "DisplayMagician v2.1.0 Upgrade Warning"; + myMessageWindow.ButtonText = "&Close"; + myMessageWindow.ShowDialog(); + } + // Check if it's an upgrade from DisplayMagician v2.0 to v2.1 + // and if it is then copy the old configs to the new filenames and + // explain to the user what they need to do. + // e.g. DisplayProfiles_2.1.json exists, but DisplayProfiles_2.0.json doesn't + else if (File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_2.0.json")) && !File.Exists(Path.Combine(AppProfilePath, "DisplayProfiles_2.1.json"))) + { + logger.Info($"Program/Main: This is an upgrade from DisplayMagician v2.0 to DisplayMagician v2.1, so performing some upgrade steps."); + // Warn the user about the fact we need a new DisplayProfiles_2.0.json + StartMessageForm myMessageWindow = new StartMessageForm(); + myMessageWindow.MessageMode = "rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagician2.0to2.1.rtf"; + myMessageWindow.HeadingText = "DisplayMagician v2.1.0 Upgrade Warning"; myMessageWindow.ButtonText = "&Close"; myMessageWindow.ShowDialog(); } From e32189387688bd85d86c92ac86f20bc3f380b23d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 24 Oct 2021 21:06:59 +1300 Subject: [PATCH 036/112] Updated WinLibrary, AMDLibrary and NVIDIALibrary to v1.2.1 This integrates all the library enhancements that I've been working on for the last 2 weeks into DisplayMagician. This fixes $47, #46 and possibly others. --- DisplayMagicianShared/AMD/AMDLibrary.cs | 42 +- DisplayMagicianShared/NVIDIA/NVAPI.cs | 10 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 433 ++++++++---------- DisplayMagicianShared/Windows/WinLibrary.cs | 43 +- 4 files changed, 249 insertions(+), 279 deletions(-) diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index 013f25b..b9586bc 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -157,10 +157,7 @@ namespace DisplayMagicianShared.AMD // .NET guarantees thread safety for static initialization private static AMDLibrary _instance = new AMDLibrary(); - private static WinLibrary _winLibrary = new WinLibrary(); - private bool _initialised = false; - private bool _haveActiveDisplayConfig = false; // To detect redundant calls private bool _disposed = false; @@ -195,6 +192,8 @@ namespace DisplayMagicianShared.AMD { _initialised = true; SharedLogger.logger.Trace($"AMDLibrary/AMDLibrary: AMD ADL2 library was initialised successfully"); + SharedLogger.logger.Trace($"AMDLibrary/AMDLibrary: Running UpdateActiveConfig to ensure there is a config to use later"); + _activeDisplayConfig = GetActiveConfig(); } else { @@ -206,7 +205,6 @@ namespace DisplayMagicianShared.AMD SharedLogger.logger.Trace(ex, $"AMDLibrary/AMDLibrary: Exception intialising AMD ADL2 library. ADL2_Main_Control_Create() caused an exception."); } - _winLibrary = WinLibrary.GetLibrary(); } catch (DllNotFoundException ex) { @@ -280,11 +278,6 @@ namespace DisplayMagicianShared.AMD { get { - if (!_haveActiveDisplayConfig) - { - _activeDisplayConfig = GetActiveConfig(); - _haveActiveDisplayConfig = true; - } return _activeDisplayConfig; } set @@ -293,6 +286,14 @@ namespace DisplayMagicianShared.AMD } } + public List CurrentDisplayIdentifiers + { + get + { + return _activeDisplayConfig.DisplayIdentifiers; + } + } + public static AMDLibrary GetLibrary() { return _instance; @@ -316,6 +317,22 @@ namespace DisplayMagicianShared.AMD return myDefaultConfig; } + public bool UpdateActiveConfig() + { + SharedLogger.logger.Trace($"AMDLibrary/UpdateActiveConfig: Updating the currently active config"); + try + { + _activeDisplayConfig = GetActiveConfig(); + } + catch (Exception ex) + { + SharedLogger.logger.Trace(ex, $"AMDLibrary/UpdateActiveConfig: Exception updating the currently active config"); + return false; + } + + return true; + } + public AMD_DISPLAY_CONFIG GetActiveConfig() { SharedLogger.logger.Trace($"AMDLibrary/GetActiveConfig: Getting the currently active config"); @@ -934,7 +951,7 @@ namespace DisplayMagicianShared.AMD string stringToReturn = ""; // Get the current config - AMD_DISPLAY_CONFIG displayConfig = GetActiveConfig(); + AMD_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; stringToReturn += $"****** AMD VIDEO CARDS *******\n"; @@ -1479,13 +1496,10 @@ namespace DisplayMagicianShared.AMD public bool IsActiveConfig(AMD_DISPLAY_CONFIG displayConfig) { - // Get the current windows display configs to compare to the one we loaded - bool allDisplays = false; - AMD_DISPLAY_CONFIG currentWindowsDisplayConfig = GetAMDDisplayConfig(allDisplays); // Check whether the display config is in use now SharedLogger.logger.Trace($"AMDLibrary/IsActiveConfig: Checking whether the display configuration is already being used."); - if (displayConfig.Equals(currentWindowsDisplayConfig)) + if (displayConfig.Equals(_activeDisplayConfig)) { SharedLogger.logger.Trace($"AMDLibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentWindowsDisplayConfig)"); return true; diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index 89b179f..0487025 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -2008,6 +2008,7 @@ namespace DisplayMagicianShared.NVIDIA public const UInt32 NVAPI_LONG_STRING_MAX = 256; public const UInt32 NVAPI_SHORT_STRING_MAX = 64; public const UInt32 NVAPI_MAX_PHYSICAL_GPUS = 64; + public const UInt32 NVAPI_MAX_PHYSICAL_GPUS_QUERIED = 32; public const UInt32 NVAPI_UNICODE_STRING_MAX = 2048; public const UInt32 NVAPI_BINARY_DATA_MAX = 4096; public const UInt32 NVAPI_SETTING_MAX_VALUES = 100; @@ -2217,13 +2218,13 @@ namespace DisplayMagicianShared.NVIDIA private static string GetDllName() { - if (IntPtr.Size == 4) + if (IntPtr.Size > 4) { - return "nvapi.dll"; + return "nvapi64.dll"; } else { - return "nvapi64.dll"; + return "nvapi.dll"; } } @@ -2318,9 +2319,6 @@ namespace DisplayMagicianShared.NVIDIA } } - - - #endregion diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 0dd8879..4467a4d 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -88,25 +88,6 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); } - /*[StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_WINDOWS_DISPLAY_CONFIG : IEquatable - { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = (Int32)NVImport.NV_MAX_DISPLAYS)] - public NV_DISPLAYCONFIG_PATH_INFO_V2[] WindowsPaths; - - public override bool Equals(object obj) => obj is NVIDIA_WINDOWS_DISPLAY_CONFIG other && this.Equals(other); - public bool Equals(NVIDIA_WINDOWS_DISPLAY_CONFIG other) - => WindowsPaths.SequenceEqual(other.WindowsPaths); - - public override int GetHashCode() - { - return (WindowsPaths).GetHashCode(); - } - public static bool operator ==(NVIDIA_WINDOWS_DISPLAY_CONFIG lhs, NVIDIA_WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); - - public static bool operator !=(NVIDIA_WINDOWS_DISPLAY_CONFIG lhs, NVIDIA_WINDOWS_DISPLAY_CONFIG rhs) => !(lhs == rhs); - }*/ - [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_DISPLAY_CONFIG : IEquatable { @@ -144,24 +125,19 @@ namespace DisplayMagicianShared.NVIDIA // .NET guarantees thread safety for static initialization private static NVIDIALibrary _instance = new NVIDIALibrary(); - private static WinLibrary _winLibrary = new WinLibrary(); - private bool _initialised = false; - private bool _haveSessionHandle = false; - private bool _haveActiveDisplayConfig = false; + private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; // To detect redundant calls private bool _disposed = false; // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); - private IntPtr _nvapiSessionHandle = IntPtr.Zero; - private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; static NVIDIALibrary() { } public NVIDIALibrary() { - + _activeDisplayConfig = CreateDefaultConfig(); try { SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Attempting to load the NVIDIA NVAPI DLL"); @@ -178,6 +154,8 @@ namespace DisplayMagicianShared.NVIDIA { _initialised = true; SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library was initialised successfully"); + SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Running UpdateActiveConfig to ensure there is a config to use later"); + _activeDisplayConfig = GetActiveConfig(); } else { @@ -190,27 +168,6 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception intialising NVIDIA NVAPI library. NvAPI_Initialize() caused an exception."); } - // Step 2: Get a session handle that we can use for all other interactions - /*try - { - NVStatus = NVImport.NvAPI_DRS_CreateSession(out _nvapiSessionHandle); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - _haveSessionHandle = true; - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library DRS session handle was created successfully"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Error creating a NVAPI library DRS session handle. NvAPI_DRS_CreateSession() returned error code {NVStatus}"); - } - } - catch (Exception ex) - { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception creating a NVAPI library DRS session handle. NvAPI_DRS_CreateSession() caused an exception."); - }*/ - - _winLibrary = WinLibrary.GetLibrary(); - } catch (DllNotFoundException ex) { @@ -223,43 +180,7 @@ namespace DisplayMagicianShared.NVIDIA ~NVIDIALibrary() { SharedLogger.logger.Trace("NVIDIALibrary/~NVIDIALibrary: Destroying NVIDIA NVAPI library interface"); - // If the NVAPI library was initialised, then we need to free it up. - if (_initialised) - { - NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - // If we have a session handle we need to free it up first - if (_haveSessionHandle) - { - try - { - //NVStatus = NVImport.NvAPI_DRS_DestorySession(_nvapiSessionHandle); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - _haveSessionHandle = true; - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library DRS session handle was successfully destroyed"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Error destroying the NVAPI library DRS session handle. NvAPI_DRS_DestorySession() returned error code {NVStatus}"); - } - } - catch (Exception ex) - { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception destroying the NVIDIA NVAPI library. NvAPI_DRS_DestorySession() caused an exception."); - } - } - - try - { - //NVImport.NvAPI_Unload(); - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library was unloaded successfully"); - } - catch (Exception ex) - { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception unloading the NVIDIA NVAPI library. NvAPI_Unload() caused an exception."); - } - - } + // The NVAPI library automatically runs NVAPI_Unload on Exit, so no need for anything here. } // Public implementation of Dispose pattern callable by consumers. @@ -276,8 +197,6 @@ namespace DisplayMagicianShared.NVIDIA if (disposing) { - //NVImport.ADL_Main_Control_Destroy(); - // Dispose managed state (managed objects). _safeHandle?.Dispose(); } @@ -294,6 +213,22 @@ namespace DisplayMagicianShared.NVIDIA } } + public NVIDIA_DISPLAY_CONFIG ActiveDisplayConfig + { + get + { + return _activeDisplayConfig; + } + } + + public List CurrentDisplayIdentifiers + { + get + { + return _activeDisplayConfig.DisplayIdentifiers; + } + } + public List PCIVendorIDs { get @@ -302,24 +237,6 @@ namespace DisplayMagicianShared.NVIDIA } } - public NVIDIA_DISPLAY_CONFIG ActiveDisplayConfig - { - get - { - if (!_haveActiveDisplayConfig) - { - _activeDisplayConfig = GetActiveConfig(); - _haveActiveDisplayConfig = true; - } - return _activeDisplayConfig; - } - set - { - _activeDisplayConfig = value; - } - } - - public static NVIDIALibrary GetLibrary() { return _instance; @@ -343,6 +260,22 @@ namespace DisplayMagicianShared.NVIDIA return myDefaultConfig; } + public bool UpdateActiveConfig() + { + SharedLogger.logger.Trace($"NVIDIALibrary/UpdateActiveConfig: Updating the currently active config"); + try + { + _activeDisplayConfig = GetActiveConfig(); + } + catch (Exception ex) + { + SharedLogger.logger.Trace(ex, $"NVIDIALibrary/UpdateActiveConfig: Exception updating the currently active config"); + return false; + } + + return true; + } + public NVIDIA_DISPLAY_CONFIG GetActiveConfig() { SharedLogger.logger.Trace($"NVIDIALibrary/GetActiveConfig: Getting the currently active config"); @@ -357,7 +290,7 @@ namespace DisplayMagicianShared.NVIDIA if (_initialised) { // Enumerate all the Physical GPUs - PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NV_MAX_PHYSICAL_GPUS]; + PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NVAPI_MAX_PHYSICAL_GPUS]; uint physicalGpuCount = 0; NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); if (NVStatus == NVAPI_STATUS.NVAPI_OK) @@ -392,7 +325,7 @@ namespace DisplayMagicianShared.NVIDIA } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error GETTING qUADRO STATUS. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting Quadro status. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); } } @@ -883,7 +816,6 @@ namespace DisplayMagicianShared.NVIDIA myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; myDisplayConfig.ColorConfig.ColorData = allColorData; - } } @@ -929,13 +861,13 @@ namespace DisplayMagicianShared.NVIDIA } } - // Get the display identifiers + // Get the display identifiers myDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); } else { - SharedLogger.logger.Error($"NVIDIALibrary/GetNVIDIADisplayConfig: ERROR - Tried to run GetNVIDIADisplayConfig but the NVIDIA ADL library isn't initialised!"); - throw new NVIDIALibraryException($"Tried to run GetNVIDIADisplayConfig but the NVIDIA ADL library isn't initialised!"); + SharedLogger.logger.Error($"NVIDIALibrary/GetNVIDIADisplayConfig: ERROR - Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); + throw new NVIDIALibraryException($"Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); } // Return the configuration @@ -948,7 +880,7 @@ namespace DisplayMagicianShared.NVIDIA string stringToReturn = ""; // Get the current config - NVIDIA_DISPLAY_CONFIG displayConfig = GetActiveConfig(); + NVIDIA_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; stringToReturn += $"****** NVIDIA VIDEO CARDS *******\n"; @@ -1276,143 +1208,6 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile so there is nothing to do as far as NVIDIA is concerned!"); } - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off colour if it's default set colour."); - // Now we try to set each display color - foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) - { - NV_COLOR_DATA_V5 colorData = colorDataDict.Value; - UInt32 displayId = colorDataDict.Key; - - // If this is a setting that says it will use default windows colour settings, then we turn it off - if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off NVIDIA customer colour settings for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - colorData = displayConfig.ColorConfig.ColorData[displayId]; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); - - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); - } - } - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR colour if it's user set HDR colour."); - // Now we try to set each display color - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) - { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - UInt32 displayId = hdrColorDataDict.Key; - - // if it's not an HDR then we turn off HDR - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn on custom HDR mode for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); - } - - } - } return true; } @@ -1425,6 +1220,144 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) + { + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + UInt32 displayId = colorDataDict.Key; + + // If this is a setting that says it will use default windows colour settings, then we turn it off + if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + } + } + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) + { + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + UInt32 displayId = hdrColorDataDict.Key; + + // if it's not an HDR then we turn off HDR + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } + + } + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on colour if it's user set colour."); // Now we try to set each display color foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) @@ -1575,10 +1508,6 @@ namespace DisplayMagicianShared.NVIDIA public bool IsActiveConfig(NVIDIA_DISPLAY_CONFIG displayConfig) { - // Get the current windows display configs to compare to the one we loaded - bool allDisplays = false; - _activeDisplayConfig = GetNVIDIADisplayConfig(allDisplays); - // Check whether the display config is in use now SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: Checking whether the display configuration is already being used."); if (displayConfig.Equals(_activeDisplayConfig)) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index e983d36..652c12d 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -77,20 +77,20 @@ namespace DisplayMagicianShared.Windows private static WinLibrary _instance = new WinLibrary(); private bool _initialised = false; + private WINDOWS_DISPLAY_CONFIG _activeDisplayConfig; // To detect redundant calls private bool _disposed = false; // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); - private IntPtr _adlContextHandle = IntPtr.Zero; static WinLibrary() { } public WinLibrary() { SharedLogger.logger.Trace("WinLibrary/WinLibrary: Intialising Windows CCD library interface"); _initialised = true; - + _activeDisplayConfig = GetActiveConfig(); } ~WinLibrary() @@ -128,6 +128,22 @@ namespace DisplayMagicianShared.Windows } } + public WINDOWS_DISPLAY_CONFIG ActiveDisplayConfig + { + get + { + return _activeDisplayConfig; + } + } + + public List CurrentDisplayIdentifiers + { + get + { + return _activeDisplayConfig.DisplayIdentifiers; + } + } + public static WinLibrary GetLibrary() { return _instance; @@ -247,6 +263,22 @@ namespace DisplayMagicianShared.Windows } + public bool UpdateActiveConfig() + { + SharedLogger.logger.Trace($"WinLibrary/UpdateActiveConfig: Updating the currently active config"); + try + { + _activeDisplayConfig = GetActiveConfig(); + } + catch (Exception ex) + { + SharedLogger.logger.Trace(ex, $"WinLibrary/UpdateActiveConfig: Exception updating the currently active config"); + return false; + } + + return true; + } + public WINDOWS_DISPLAY_CONFIG GetActiveConfig() { SharedLogger.logger.Trace($"WinLibrary/GetActiveConfig: Getting the currently active config"); @@ -651,7 +683,7 @@ namespace DisplayMagicianShared.Windows string stringToReturn = ""; // Get the current config - WINDOWS_DISPLAY_CONFIG displayConfig = GetActiveConfig(); + WINDOWS_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; WIN32STATUS err = WIN32STATUS.ERROR_GEN_FAILURE; stringToReturn += $"****** WINDOWS CCD CONFIGURATION *******\n"; @@ -1123,12 +1155,9 @@ namespace DisplayMagicianShared.Windows public bool IsActiveConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { - // Get the current windows display configs to compare to the one we loaded - WINDOWS_DISPLAY_CONFIG currentWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS); - // Check whether the display config is in use now SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: Checking whether the display configuration is already being used."); - if (displayConfig.Equals(currentWindowsDisplayConfig)) + if (displayConfig.Equals(ActiveDisplayConfig)) { SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentWindowsDisplayConfig"); return true; From 419969ad5f44629ac257b87c6bef57f5e37283ff Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 24 Oct 2021 21:29:53 +1300 Subject: [PATCH 037/112] Changed profile detection Changed Profiles to use new methods for profiles detection provided by the new video card library updates for NVIDIALibrary, AMDLibrary and WinLibrary. This should make DisplayMagician faster as there is less repetition. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/ProfileItem.cs | 81 ++++++---------------- DisplayMagicianShared/ProfileRepository.cs | 3 - 3 files changed, 22 insertions(+), 66 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index f221d1d..e518221 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.9")] -[assembly: AssemblyFileVersion("2.1.0.9")] +[assembly: AssemblyVersion("2.1.0.10")] +[assembly: AssemblyFileVersion("2.1.0.10")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 39d0067..b3c7838 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -466,72 +466,31 @@ namespace DisplayMagicianShared public bool CreateProfileFromCurrentDisplaySettings() { - // Create defaults for NVIDIA and AMD so that the JSON file can save properly + // Calling the 3 different libraries automatically gets the different configs from each of the 3 video libraries. + // If the video library isn't in use then it also fills in the defaults so that the JSON file can save properly // (C# Structs populate with default values which mean that arrays start with null) - NVIDIALibrary nvidiaLibrary = NVIDIALibrary.GetLibrary(); - AMDLibrary amdLibrary = AMDLibrary.GetLibrary(); - WinLibrary winLibrary = WinLibrary.GetLibrary(); + try + { + NVIDIALibrary nvidiaLibrary = NVIDIALibrary.GetLibrary(); + AMDLibrary amdLibrary = AMDLibrary.GetLibrary(); + WinLibrary winLibrary = WinLibrary.GetLibrary(); - if (VideoMode == VIDEO_MODE.NVIDIA && nvidiaLibrary.IsInstalled) - { - if (nvidiaLibrary.IsInstalled) - { - // Create the profile data from the current config - _nvidiaDisplayConfig = nvidiaLibrary.GetActiveConfig(); - _windowsDisplayConfig = winLibrary.GetActiveConfig(); - _profileDisplayIdentifiers = nvidiaLibrary.GetCurrentDisplayIdentifiers(); + // Create the profile data from the current config + _nvidiaDisplayConfig = nvidiaLibrary.ActiveDisplayConfig; + _amdDisplayConfig = amdLibrary.ActiveDisplayConfig; + _windowsDisplayConfig = winLibrary.ActiveDisplayConfig; + _profileDisplayIdentifiers = nvidiaLibrary.CurrentDisplayIdentifiers; - // Now, since the ActiveProfile has changed, we need to regenerate screen positions - _screens = GetScreenPositions(); + // Now, since the ActiveProfile has changed, we need to regenerate screen positions + _screens = GetScreenPositions(); - return true; - } - else - { - return false; - } + return true; + } - else if(VideoMode == VIDEO_MODE.AMD && AMDLibrary.GetLibrary().IsInstalled) + catch (Exception ex) { - if (amdLibrary.IsInstalled) - { - // Create the profile data from the current config - _amdDisplayConfig = amdLibrary.GetActiveConfig(); - _windowsDisplayConfig = winLibrary.GetActiveConfig(); - _profileDisplayIdentifiers = amdLibrary.GetCurrentDisplayIdentifiers(); - - // Now, since the ActiveProfile has changed, we need to regenerate screen positions - _screens = GetScreenPositions(); - - return true; - } - else - { - return false; - } - } - else if (VideoMode == VIDEO_MODE.WINDOWS) - { - if (winLibrary.IsInstalled) - { - // Create the profile data from the current config - _windowsDisplayConfig = winLibrary.GetActiveConfig(); - _profileDisplayIdentifiers = winLibrary.GetCurrentDisplayIdentifiers(); - - // Now, since the ActiveProfile has changed, we need to regenerate screen positions - _screens = GetScreenPositions(); - - return true; - } - else - { - return false; - } - } - else - { - SharedLogger.logger.Error($"ProfileRepository/CreateProfileFromCurrentDisplaySettings: Tried to use an unknown video mode!"); + SharedLogger.logger.Error(ex, $"ProfileRepository/CreateProfileFromCurrentDisplaySettings: Exception getting the config settings!"); return false; } } @@ -676,7 +635,7 @@ namespace DisplayMagicianShared WinLibrary winLibrary = WinLibrary.GetLibrary(); if (nvidiaLibrary.IsInstalled) { - if (!(nvidiaLibrary.IsActiveConfig(_nvidiaDisplayConfig) && winLibrary.IsActiveConfig(_windowsDisplayConfig))) + if (!winLibrary.IsActiveConfig(_windowsDisplayConfig) || !nvidiaLibrary.IsActiveConfig(_nvidiaDisplayConfig)) { if (nvidiaLibrary.IsPossibleConfig(_nvidiaDisplayConfig)) { @@ -737,7 +696,7 @@ namespace DisplayMagicianShared WinLibrary winLibrary = WinLibrary.GetLibrary(); if (amdLibrary.IsInstalled) { - if (!(amdLibrary.IsActiveConfig(_amdDisplayConfig) && winLibrary.IsActiveConfig(_windowsDisplayConfig))) + if (!winLibrary.IsActiveConfig(_windowsDisplayConfig) || !amdLibrary.IsActiveConfig(_amdDisplayConfig)) { if (amdLibrary.IsPossibleConfig(_amdDisplayConfig)) { diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index e0de35e..8462473 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -587,9 +587,6 @@ namespace DisplayMagicianShared public static void UpdateActiveProfile() { - - //ProfileItem activeProfile; - SharedLogger.logger.Debug($"ProfileRepository/UpdateActiveProfile: Updating the profile currently active (in use now)."); ProfileItem profile; From 51b03c7c1c816a7344edfc39e62ab8db91e3e222 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 24 Oct 2021 21:34:43 +1300 Subject: [PATCH 038/112] Fixed issue updating the current display profile The profile updating logic wouldn't work with the new way of buffering the display config, which means that when swapping back to DisplayMagician after updating the display layout wouldn't automatically update the display profile. Now, it forces this. --- DisplayMagicianShared/ProfileItem.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index b3c7838..884e075 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -476,7 +476,12 @@ namespace DisplayMagicianShared AMDLibrary amdLibrary = AMDLibrary.GetLibrary(); WinLibrary winLibrary = WinLibrary.GetLibrary(); - // Create the profile data from the current config + // For a library update to the latest version so that we pick up any new changes since the last update + nvidiaLibrary.UpdateActiveConfig(); + amdLibrary.UpdateActiveConfig(); + winLibrary.UpdateActiveConfig(); + + // Grab the profile data from the current stored config (that we just updated) _nvidiaDisplayConfig = nvidiaLibrary.ActiveDisplayConfig; _amdDisplayConfig = amdLibrary.ActiveDisplayConfig; _windowsDisplayConfig = winLibrary.ActiveDisplayConfig; From 6e35825b10a1ee26b3b96310bef33c5c4aa6a8d4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 24 Oct 2021 21:39:49 +1300 Subject: [PATCH 039/112] Update ProfileRepository --- DisplayMagicianShared/ProfileRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 8462473..b29f84b 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -101,7 +101,7 @@ namespace DisplayMagicianShared catch (Exception ex) { SharedLogger.logger.Warn(ex, $"ProfileRepository/ProfileRepository: Exception creating the Profiles storage folder."); - } + } } #endregion From 6ea32a44ab4f50a01727b3eb07a329f99ad9a6cf Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 24 Oct 2021 21:41:34 +1300 Subject: [PATCH 040/112] Updated Assembly build --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e518221..b13bd9f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.10")] -[assembly: AssemblyFileVersion("2.1.0.10")] +[assembly: AssemblyVersion("2.1.0.11")] +[assembly: AssemblyFileVersion("2.1.0.11")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 1faa8ecc5b1cd69da5262bbdc4e9aaf32cd6403f Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 15:19:02 +1300 Subject: [PATCH 041/112] Updated AMDLibrary and WinLibrary to latest versions AMDLibrary had an error that caused issues due to a missing call to get a valid default config. WinLibrary had an issue where it wasn't applying the GDIDisplaySettings correctly after a reboot. This has now been fixed. --- DisplayMagician/Program.cs | 2 +- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagicianShared/AMD/AMDLibrary.cs | 2 +- DisplayMagicianShared/Windows/WinLibrary.cs | 34 ++++++++++++++++----- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 7c00fe4..ad57fae 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -280,7 +280,7 @@ namespace DisplayMagician { // Warn the user about the fact we need a new DisplayProfiles_2.0.json StartMessageForm myMessageWindow = new StartMessageForm(); myMessageWindow.MessageMode = "rtf"; - myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagician2.0to2.1.rtf"; + myMessageWindow.URL = "https://displaymagician.littlebitbig.com/messages/DisplayMagician20to21.rtf"; myMessageWindow.HeadingText = "DisplayMagician v2.1.0 Upgrade Warning"; myMessageWindow.ButtonText = "&Close"; myMessageWindow.ShowDialog(); diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b13bd9f..85b4bce 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.11")] -[assembly: AssemblyFileVersion("2.1.0.11")] +[assembly: AssemblyVersion("2.1.0.14")] +[assembly: AssemblyFileVersion("2.1.0.14")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index b9586bc..fdfcdc2 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -170,7 +170,7 @@ namespace DisplayMagicianShared.AMD static AMDLibrary() { } public AMDLibrary() { - + _activeDisplayConfig = CreateDefaultConfig(); try { SharedLogger.logger.Trace($"AMDLibrary/AMDLibrary: Attempting to load the AMD ADL DLL {ADLImport.ATI_ADL_DLL}"); diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 652c12d..b11ffd7 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -515,6 +515,16 @@ namespace DisplayMagicianShared.Windows } } + // And then we need to go through the list of modes again and patch the 'cloned' displays with a real display ID so the display layout is right in cloned displays + for (int i = 0; i < modes.Length; i++) + { + // We only change the ids that match in InfoType for target displays + if (modes[i].InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET && targetIdsToChange.Contains(modes[i].Id)) + { + // Patch the cloned ids with a real working one! + modes[i].Id = targetIdMap[modes[i].Id]; + } + } // Store the active paths and modes in our display config object windowsDisplayConfig.DisplayConfigPaths = paths; @@ -522,7 +532,6 @@ namespace DisplayMagicianShared.Windows windowsDisplayConfig.DisplayHDRStates = hdrInfos; windowsDisplayConfig.GdiDisplaySettings = GetGdiDisplaySettings(); - return windowsDisplayConfig; } @@ -1018,8 +1027,9 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - SetDisplayConfig couldn't validate the display configuration supplied. This display configuration won't work if applied."); return false; } - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Yay! The display configuration is valid! Attempting to set the Display Config now"); + + // Now set the specified display configuration for this computer err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); if (err == WIN32STATUS.ERROR_SUCCESS) @@ -1090,18 +1100,23 @@ namespace DisplayMagicianShared.Windows // Apply the previously saved display settings to the new displays (match them up) // NOTE: This may be the only mode needed once it's completed. SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); - foreach (var myGdiDisplaySettings in displayConfig.GdiDisplaySettings) + for (int i = 0; i < displayConfig.GdiDisplaySettings.Count; i++) { - string displayDeviceKey = myGdiDisplaySettings.Key; - GDI_DISPLAY_SETTING displayDeviceSettings = myGdiDisplaySettings.Value; - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); + + var thisGdiSetting = displayConfig.GdiDisplaySettings.ElementAt(i); + string displayDeviceKey = thisGdiSetting.Key; + GDI_DISPLAY_SETTING displayDeviceSettings = displayConfig.GdiDisplaySettings[displayDeviceKey]; if (currentGdiDisplaySettings.ContainsKey(displayDeviceKey)) { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); string currentDeviceName = currentGdiDisplaySettings[displayDeviceKey].Device.DeviceName; - DEVICE_MODE currentModeToUse = currentGdiDisplaySettings[displayDeviceKey].DeviceMode; + //DEVICE_MODE currentModeToUse = currentGdiDisplaySettings[displayDeviceKey].DeviceMode; DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; + // Update the Device name to match what the OS currently thinks that is (Ensures the device settings are provided to the correct screens) + displayDeviceSettings.Device.DeviceName = currentGdiDisplaySettings[displayDeviceKey].Device.DeviceName; + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); if (result == CHANGE_DISPLAY_RESULTS.Successful) { @@ -1147,7 +1162,10 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} not updated to use the new mode."); } } - + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} is not currently in use, so cannot set it!"); + } } return true; From c42b53843b4afc29c1793bb2d2301bf8667d0051 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 16:01:33 +1300 Subject: [PATCH 042/112] Updated WinLibrary to use patched current Display Settings This is needed to stop the GDI settings from overwriting the display layout. This appears to fix all display issues! --- DisplayMagicianShared/Windows/WinLibrary.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index b11ffd7..74548db 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -1100,24 +1100,25 @@ namespace DisplayMagicianShared.Windows // Apply the previously saved display settings to the new displays (match them up) // NOTE: This may be the only mode needed once it's completed. SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); - for (int i = 0; i < displayConfig.GdiDisplaySettings.Count; i++) + foreach (var gdiDisplay in displayConfig.GdiDisplaySettings) { - var thisGdiSetting = displayConfig.GdiDisplaySettings.ElementAt(i); - string displayDeviceKey = thisGdiSetting.Key; + string displayDeviceKey = gdiDisplay.Key; GDI_DISPLAY_SETTING displayDeviceSettings = displayConfig.GdiDisplaySettings[displayDeviceKey]; if (currentGdiDisplaySettings.ContainsKey(displayDeviceKey)) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); - string currentDeviceName = currentGdiDisplaySettings[displayDeviceKey].Device.DeviceName; - //DEVICE_MODE currentModeToUse = currentGdiDisplaySettings[displayDeviceKey].DeviceMode; - DEVICE_MODE modeToUse = displayDeviceSettings.DeviceMode; + GDI_DISPLAY_SETTING currentDeviceSetting = currentGdiDisplaySettings[displayDeviceKey]; - // Update the Device name to match what the OS currently thinks that is (Ensures the device settings are provided to the correct screens) - displayDeviceSettings.Device.DeviceName = currentGdiDisplaySettings[displayDeviceKey].Device.DeviceName; + // Use the current device as a base, but set some of the various settings we stored as part of the profile + currentDeviceSetting.DeviceMode.BitsPerPixel = displayDeviceSettings.DeviceMode.BitsPerPixel; + currentDeviceSetting.DeviceMode.DisplayOrientation = displayDeviceSettings.DeviceMode.DisplayOrientation; + currentDeviceSetting.DeviceMode.DisplayFrequency = displayDeviceSettings.DeviceMode.DisplayFrequency; + // Sets the greyscale and interlaced settings + currentDeviceSetting.DeviceMode.DisplayFlags = displayDeviceSettings.DeviceMode.DisplayFlags; - CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceName, ref modeToUse, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); if (result == CHANGE_DISPLAY_RESULTS.Successful) { SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); From ff83331f4dbc839169870e7e9ea624e83902c729 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 16:02:26 +1300 Subject: [PATCH 043/112] Updated version --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 85b4bce..6f3718a 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.14")] -[assembly: AssemblyFileVersion("2.1.0.14")] +[assembly: AssemblyVersion("2.1.0.16")] +[assembly: AssemblyFileVersion("2.1.0.16")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From d54328ceef7ae9a58653bb6db5fde955de22227c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 19:18:46 +1300 Subject: [PATCH 044/112] Loosened GDI matching for updated GDI usage As we now only copy across some of the GDI display settings, we aren't able to have really tight matching on the GDI part of the Windows display profiles. For this reason, I loosened off the Equals test so that it would match on the functions that we change within DisplayMagician. The profile matching now works correctly. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagicianShared/Windows/GDI.cs | 36 ++++++++++++---------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 6f3718a..e340085 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.16")] -[assembly: AssemblyFileVersion("2.1.0.16")] +[assembly: AssemblyVersion("2.1.0.17")] +[assembly: AssemblyFileVersion("2.1.0.17")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs index b63a1db..e1483ee 100644 --- a/DisplayMagicianShared/Windows/GDI.cs +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -363,32 +363,34 @@ namespace DisplayMagicianShared.Windows public override bool Equals(object obj) => obj is DEVICE_MODE other && this.Equals(other); public bool Equals(DEVICE_MODE other) - => DeviceName.Equals(other.DeviceName) && + => //DeviceName.Equals(other.DeviceName) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching SpecificationVersion == other.SpecificationVersion && - DriverVersion.Equals(other.DriverVersion) && - Size.Equals(other.Size) && - DriverExtra.Equals(other.DriverExtra) && - Fields.Equals(other.Fields) && - Position.Equals(other.Position) && + //DriverVersion.Equals(other.DriverVersion) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Size.Equals(other.Size) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //DriverExtra.Equals(other.DriverExtra) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Fields.Equals(other.Fields) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Position.Equals(other.Position) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching DisplayOrientation.Equals(other.DisplayOrientation) && DisplayFixedOutput.Equals(other.DisplayFixedOutput) && - Color.Equals(other.Color) && - Duplex.Equals(other.Duplex) && - YResolution.Equals(other.YResolution) && - TrueTypeOption.Equals(other.TrueTypeOption) && - Collate.Equals(other.Collate) && - FormName.Equals(other.FormName) && - LogicalInchPixels.Equals(other.LogicalInchPixels) && + //Color.Equals(other.Color) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Duplex.Equals(other.Duplex) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //YResolution.Equals(other.YResolution) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //TrueTypeOption.Equals(other.TrueTypeOption) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Collate.Equals(other.Collate) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //FormName.Equals(other.FormName) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //LogicalInchPixels.Equals(other.LogicalInchPixels) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching BitsPerPixel.Equals(other.BitsPerPixel) && - PixelsWidth.Equals(other.PixelsWidth) && - PixelsHeight.Equals(other.PixelsHeight) && + PixelsWidth.Equals(other.PixelsWidth) && + PixelsHeight.Equals(other.PixelsHeight) && DisplayFlags.Equals(other.DisplayFlags) && DisplayFrequency == other.DisplayFrequency; public override int GetHashCode() { - return (DeviceName, SpecificationVersion, DriverVersion, Size, DriverExtra, Fields, Position, DisplayOrientation, DisplayFixedOutput, Color, Duplex, - YResolution, TrueTypeOption, Collate, FormName, LogicalInchPixels, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); + // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //return (DeviceName, SpecificationVersion, DriverVersion, Size, DriverExtra, Fields, Position, DisplayOrientation, DisplayFixedOutput, Color, Duplex, + // YResolution, TrueTypeOption, Collate, FormName, LogicalInchPixels, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); + return (SpecificationVersion, DisplayOrientation, DisplayFixedOutput, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); } public static bool operator ==(DEVICE_MODE lhs, DEVICE_MODE rhs) => lhs.Equals(rhs); From 0e0195e3a1f7460c07c36ee2de385e225967622f Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 20:45:21 +1300 Subject: [PATCH 045/112] Preaparation for a popup window if loading takes too long --- DisplayMagician/DisplayMagician.csproj | 9 + .../UIForms/LoadingForm.Designer.cs | 90 + DisplayMagician/UIForms/LoadingForm.cs | 20 + DisplayMagician/UIForms/LoadingForm.resx | 34061 ++++++++++++++++ 4 files changed, 34180 insertions(+) create mode 100644 DisplayMagician/UIForms/LoadingForm.Designer.cs create mode 100644 DisplayMagician/UIForms/LoadingForm.cs create mode 100644 DisplayMagician/UIForms/LoadingForm.resx diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 5e40046..29fc73d 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -144,6 +144,12 @@ HotkeyForm.cs + + Form + + + LoadingForm.cs + Form @@ -215,6 +221,9 @@ HotkeyForm.cs + + LoadingForm.cs + MainForm.cs Designer diff --git a/DisplayMagician/UIForms/LoadingForm.Designer.cs b/DisplayMagician/UIForms/LoadingForm.Designer.cs new file mode 100644 index 0000000..9f4a125 --- /dev/null +++ b/DisplayMagician/UIForms/LoadingForm.Designer.cs @@ -0,0 +1,90 @@ + +namespace DisplayMagician.UIForms +{ + partial class LoadingForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoadingForm)); + this.lbl_title = new System.Windows.Forms.Label(); + this.lbl_description = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_title + // + this.lbl_title.AutoSize = true; + this.lbl_title.BackColor = System.Drawing.Color.Black; + this.lbl_title.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_title.ForeColor = System.Drawing.Color.White; + this.lbl_title.Location = new System.Drawing.Point(71, 35); + this.lbl_title.Name = "lbl_title"; + this.lbl_title.Size = new System.Drawing.Size(346, 29); + this.lbl_title.TabIndex = 0; + this.lbl_title.Text = "DisplayMagician is loading..."; + this.lbl_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lbl_description + // + this.lbl_description.BackColor = System.Drawing.Color.IndianRed; + this.lbl_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_description.ForeColor = System.Drawing.Color.Black; + this.lbl_description.Location = new System.Drawing.Point(71, 64); + this.lbl_description.Name = "lbl_description"; + this.lbl_description.Size = new System.Drawing.Size(346, 28); + this.lbl_description.TabIndex = 1; + this.lbl_description.Text = "but it\'s taking a while! Please wait."; + this.lbl_description.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // LoadingForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.ClientSize = new System.Drawing.Size(495, 129); + this.ControlBox = false; + this.Controls.Add(this.lbl_description); + this.Controls.Add(this.lbl_title); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(511, 168); + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(511, 168); + this.Name = "LoadingForm"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "DisplayMagician is loading...."; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lbl_title; + private System.Windows.Forms.Label lbl_description; + } +} \ No newline at end of file diff --git a/DisplayMagician/UIForms/LoadingForm.cs b/DisplayMagician/UIForms/LoadingForm.cs new file mode 100644 index 0000000..f371717 --- /dev/null +++ b/DisplayMagician/UIForms/LoadingForm.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace DisplayMagician.UIForms +{ + public partial class LoadingForm : Form + { + public LoadingForm() + { + InitializeComponent(); + } + } +} diff --git a/DisplayMagician/UIForms/LoadingForm.resx b/DisplayMagician/UIForms/LoadingForm.resx new file mode 100644 index 0000000..14c6f55 --- /dev/null +++ b/DisplayMagician/UIForms/LoadingForm.resx @@ -0,0 +1,34061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + oRxhMi8JL7FKKE6loyVDI+IiY9hkbFU8B4K77+MfAiROEkmralc+/OiTy9dtNDiyFQaHxZkvV9vwKq29 + /b6HHv/DPff/bsXqTYHBESkyRWFppSRNncBOFiTL2dwUAFVsAo6gwUuHFkahseqM6Sq9Q6m1SFU6pcao + NVo4vGQ8xr6+If4BoYFB4QHMTNbBIRF4pH18g5YsJX6S2DhuXd26lBRNQkJSRGRidGxiaGhkaGRcCOM6 + Cw+HecQKDY8mmLTE57ZFsMOWQW4jk/lCIQtMNzJCCXBCAlEE+PiQuaf8gkhMPzzbfoFkTi0ygVVoDOOY + SgRNgayAT1AW+ApkRVsk+ocbptEgLzvDUbeCp0fFCfBjUQbvfkBo5KJFS+yOzNdee+Odd/4Ok7Srp9to + MLISE/Fu03cZglcbBEX/XMK88oHLvPyBUiiBzGXET+WFH0RiAfp4LVoMM9eXw+OKJXjwBMliYr9JZWly + pVKmUChUSqVaZXc6HnrkYRo24Mb0zZdeefn3z/7hm2//++c3/rJqzWowzMBQ/9Fj7StXL7/rno333HvH + w4/c/9lnH73z7l8f/91DL7/y4oqV9evWrf3662+2btv+yKOPL1oE23rpqvWbBk6O3py/2XWio71j37Wb + p0+dnHz77XdNRseSxbdiu+MyFxUWbN6yndhiHs+PP3+3c/e2w60HNm/5aev2X7774dum5kbQEYgF7AS4 + AmJ9/+N323ZsBVzRIU9dPZ10ABVSnCEECsgKlIVN7R2tJ/pPuNwzLs8s7f8GrgBFMB6qiUtXL8zO37x4 + 5Txs03PnzkxOjo+ODp86dcvB1bhn9+atmwFRTc17vv3+2+aWvb19wKS+Y53Hkbl9545dDbtBU3v37Tt6 + rI0Orzp9dpJGwsDuJwZODAz2jIwO4EA4NA4BwxeCHAZdzg4M9nYcbz19erK//wRoCiyHHKBUX393T+9x + 2MqAIiidXUexL4iI2s2AMaQgKBSDMY3y2Iva1vhd2AXKws+E2Y0dkQmsgg5eOntuHOnU+Ymp85MXLpKI + 8LDXrzGh7U+fOXXz5pULl85cv3lldn7mgw/fe+6l1/7y9rtfffvjP/758Uuv/hmndXN2Zmb2Jv7Nzcy6 + 5z2Nu5ueevJpLofn5e0tU8h+98yTIZHEPWW2WE6fPfPDTz9+9eV/vvnmW8aH+e9Pv/j8xZdfwl222mwo + 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 + 99+Ligvr6pZs2LDuwKE9L7546PChfZs3rq2vrzt0aN/efXtPnzn3xjv/cXBExjf4cw8M2Lp7V3d/X2tb + y6lTx/7++0L/QNeVG3+fOXv6jz9/O3vudA9Q0O2RGw1Xf79w7uSpn06c/BEgClCnf6AbX3MFQDU80g8Z + QLox53tAX61tjffu377/4A4cwlngIogAmEHkNuZYAvAJUAoywFk4BRwFfAUhfAoOgaDwKYIQQk6Q7u7O + js620dHhkeEh3EgFV0Cv08BXaO5sv9bceLXx5vjdO/39/Rd+/72jpWVoaBAIanxsbGRkGBJ7enqGhoZ7 + e/uaG2/09nTBZ38792tyYuqNq2iV3X+PfNze2hETY/j9wpkn0w+7etoHBvoGBruGRlqBxPbs2afTxMET + nioQBkVTfrt8ET7S3N03OH7v4ZPZnv47Z85cTkjK58nMG/e8/NKHn67bc3DD3uc27j64euvumtUbK+rX + V63ZvGr7/rqNu5Zu2F63afvKrbsXrV6HA1X54uU1K+vr1m8oqKqpXbV62brNOcXVWflVaWnZ2fnFhdW1 + meUVmZWVRUuWLN+wafn6jYvqVlYuWgpSXr2oclFdSeXi/JLKorKa/PLFtcvXFVQsUZsSkzKLFq/cULF4 + VVZhVXZefl5hSXp2YUpmfmJ6blZxmTYuZvG6Fc3XGuDSOWAmo+3bd1aWV2dnFZSV1xQXFhn1hujo6MDA + wPTMDIFELFMpqxbVlJdVLF68tL5+dV3d8tKKmsy8woSU9PiU9NTU9KzsnBhLrN5gQsPYxsbeDjO//8+M + PwRUGFMh2sLuF/R7VjHUVFwAT+7Q8LAPPvrg7B9/7D5wAPDPaIm3JCTL1DoAqqbevvUbt2Vm5Rn0McFB + pHhL/Iq65YB/zz136OJff62oXwnlLKtf2dDYEBEaatEZYmRqXz+0qTFy/+Joj82otUlOSSwsLsrJzisu + KgemCg+jO9gTiEEUf7+w4KAo/4BIoClPHxIhkOwZEOITSEI/13oF2bg6fHvyGHT0cNvNJwNtjztvzLY3 + WDvbpzqb5vrapvua7rVeetx9Y3agdba3dbanba6/zTrabR3vmR3rmRnrRZtKjfbPjQyg7XqBowCoRgbm + hvsmeztmBrpnB3tmB7rnettn2hqnm65ZO5qsfZ3zfR0zfZ2z/d0zPR2zXe3W7i6obr69DRms+rsfd7VP + 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 + MSXhUdxIltDG2atiWTVcoobmhra2lv4+4J/u0fHBDmzzqDt3x8ZvDT16fO/WnZFbt4cfPppA/vpuj9+5 + cwsDqomR0aGxsWHgpVu3xoCgQCAOQIWjVB8EPV2QgnPXwEA/4FZvb3dHZ9vQcN/wwNDTp08v/v3Xjj17 + Dj5/uK+/H6CsvaVtfPRuW0ODdeL2o8Hu7tbGW4ODT548AsZr6xq+ZwXmHj29bdeNE7/A6Dp39ZpeotEn + JibmZFhS4nVxZnWM2ZycyBCz3/r0jZOnjjc135CK+L+eP9My0HGlrWH41vid0VubN+0bGLyXlV+dklOu + iknlSPXo9SqFt7aKLVByRCqWQMmTqALI4cb4xP0vvLD/xdf2v/Dq6k3b1Oa4CHhf6ox5ZZXJ2XkMgVio + 0pRVLwWpWLyiduXaxWs2rdq+b+2uAyu37F6+eWf9tj1Z5YsKa5dDyuYDL2zf//LyTTuK6lYu2bhl4+79 + G3bsX7ZxR9Wazat37N2099C67XuX1G+sW7mxoKQ2s6ACgKqosq6gfDFQ1pZdBypq6gCoElIBq1ItialA + U4VlVUBT8SkZccnpTL7IFJekNcVqDDHn//wbRgiLzUtKTo+KZpLCqQqNZqE9Yo+axbVvvv2Wg7MTm8vR + ozVNMXQmSygSjY3dOnLkv2vXbdy6Y+eyVfUVNUsWL11eWbWoftW6rOz8yEhaYECwgC9dvKguLi6RRAqD + RyF2ByEDPcETrcNctGzxHNCU1drXN7Bz575tu/auXru5rKomt7AEgColIzs2MUVnsmgMZrXepFAbNfpY + pcYslABTWeKTMhOSsySgAKWkY9nM8WnJbCHfbDSe/e6EkSEmwKsBgAr9mLUQ7Zz+f4HK18/XFBtjtBgz + szN27tpRU1NZUlq8fNmK/Xufy04vcLRzd3Zw90SmY08PJN4ET/+AAHIQMRSeYnWF2dbRvvtXf314/Y/p + lqvTHTfnBtone9tme9vQoqaBNmt/13RP50x3+2x381T7jdne1jnk3A9wotc63DvX0zrZdO3J1b+eXrow + f/3yVHfzfEejtbXJeuOq9dqVuetXJm9enu9ssvYNWDvarU1Nc003rJ1N860N05f/tv711yTkaW6c62iZ + 72qfam6abGy0DgzMDPbPd3bPD/Rbb41ODfRO9XZah3qRF0FozHjT/EDTfG/r/EDP7OjA7Hi/dWLEOt43 + N9Ix39cy3XTxyZ/HJn7+bL7hrLUb4PCGta/R+veFhye/u/3D54+Pfvzol2+tDX9Y3//41hv7Hvzy7ZPO + jm8++Ob519+8bX0Id9XcxNyjK9fvnjltPXd69syp+XO/WC/++edbR9bm1Z16+79TjRemL3w39+uZuRs3 + ngw2To11WnvGbGTmLCXaYQm0+TRTQpFImQzMw+AaEVBpUtliDJAMyCeeVJ8mUiQKVIlATXxZPKCUWJnE + gwjmCR2gCKGXwAgEIlYnM0XIPSB8CkLctAWoQOcbWAKTWJUMn0WLsmRxUBQIXQiKO1rKJTNkqM35Ul2G + WJMKcTZ8UJYQn16lx80psXkCRRxLaORJLQyeFmiKzTdBqyAbladH6KVIoLDUUCCwkFSXQuNqeLIYoTJW + BjSlTVNo0iVKtJYJymEITdAeaBVer9KUKVanCZXJwFRSLXJOqDKjvbNwQxZ8CxVwCEZTwHsgLFG8zISW + NiGzjzELuAVwRaxLhwgAFYYriHAwC1IWT5mE5k9i+xqrY7I4MhNdqOEpLDJ9KqAUTx4LEbkBMqSINcnQ + cny1FeCZKaUU2eswRxRQOIATbnECKILCAaVwCxW+pMqUUpactwSvHc7i2QDqoCVAUxDCWWgw4B/+cW1C + sT6hyJxcINXEMQQqodwiUSXKVKmKuDx9cokhucSYWmZMLVXF5Ur0qTxlPEdkpPPUwF1ciZ7GlVPZsmiO + giXUssT6SJZMoIiR66Hf4/nyGK4ELWPDVkkZkH8/sY7B0whkMSpDqjk+Nya1UGZIFqhiBQoLTwbcpRfK + 0eZUamMKoJdClxhBE4VG8QVyo1QTC1jFQowEOKekY64p6GyxUKYDoOJKdcCBUXRRJJ1P50gZbCmVLWaL + 1Wy+NIrBi6TxgMEAvTC8YYdH8bEZHUwArZBwWiSdxxOpaCxRMByGUnBbRCiFEc0UsrEasYl/aC4fXikg + ELAQzlG4QCIQFCATxHGsgrcyhHgeSIEIbkmDRBCcrOAUJEJpaNZ+JANaAgQFQqYASkUA6XkHEJlsTXxi + gVyVkJRWmpBWwhKD+sQoqFkVm1ri4U+JZIoj6cIwKj82o6RgyaYVO1+p3vB83Zbns0qWBZGZIaFMchQr + kiMOoEQHRMkT8xcX1K4TaeJtbBxtnbzdPAMcnDzs/l3sBHgDoRshCOccIByI4E78IOLqGYhDEU5Hz0I8 + BRdIwROfCZzFM+DIBIIfQghl4jXi5eMp6JSjt6ubH2g2QFOe3kRv/zAPb5K7N0ksjzPG5Uq1SYb4HEB6 + ciTXnRAU4B/qhTz4IT8TIDhEEXxCMHCi4Ic4RwFBAVMBQeE0hQMVbp56FkH2Q8wTIwAVkBXOVKQwRNf4 + MircToUgCltDhXMUxHGUepYHhysIIRHIyh/bWAyyAU1BxB+pbsgPvjvB183LJzCI5B8Q7OpGAN0O3mcY + fjj6+gUAUIHyChCFMxUwDETw+X54uiOiL2Aq5FcNW+nkCW9Pgk+A2ZIUl5QRFBrp4uEXEEyJ5kppXCno + QGy+QiTXxiZlGC3JbK7U2RNRCsEn0M3Th+AbRAqN9PUN8iT4ga6JqcvumAkClQ+A5OLihg9LN09viHt4 + ekEGYChQGoBYgKZAbXB1BdhDVilQvnH9G5qKLFRo314Ap388njs7ujtjU8VwsXd0A20b9G87RzcQgCVQ + zXGgwqeKQRyP4HwFhyinkzuAH+j0qEDMxR9upIIQagTshKqxfbCQ3/MFCyC0DwgMDg4mR0REAVbRQBln + cUEdDyKS3D3dXV1dCR6eAT6+0FxoOlAg7kLD2dnN28vf3x/ZOs6eOz09M/nZp5+u27JLAE8izBO3s7u7 + s6ujC/CYs4eto6unF8bMASEhZAqwGzWaBd8Osn311Xc4OD168vDuvTuPJ59899MPQoEcTgF37d13aHYe + zQMaGu1pbrt8/drl8+d///Pvy//54LP0nCKlzvT2kQ/vPUSbt6K9hOatY7duX7x4ub29BxTsIN/QIGKI + jb2dB3xf+4WEhfbOjkiNq/YIsDoIzzj4biUQTjqG3XVntTgQLnoR67w9Pycx1ruTFzq552SUL1m7fvNr + hwe7BqHwd//zeWZGcVJCpkyoDPYPgUIcHWEo2tk5ImMj5soPOhRFgPyBSWDEwsVHU/g8fBxdUKdA1wBE + 4QAMHOVO8MPjSFDf+cMhygBDyNPLA3Mm6euDru2nR4/eaLx29KtPz5479cuZExAeO/HT9z98dfzEDzt2 + bZHIhEBTdcsXLamrrV5Uvqi2Qq2RR1EpIaRgYggxJDQkghbFFrLt7F1y84o7O3ozM3KhTF9vPwc7ezIx + mMMRAMA72MFAJjgBuiOgQov0YGx7+wRACsEz0C8InjZkb9/gwOAIUgTaw50czgwN4wSFQDdK/EMopEhG + 92B372BfW3vL8NBAV2fL0FBfa3vTzcZr4+Mjg0N9IyODt2+P3X9w9+nko7sTt0bHhoCmJibuPHx4HyBq + ZASAagQOAaWamhqAl4CdgKY6OtqApkAGB/tB+vt7OzvbIR1SICc+DxC65pNPPwmPhHdBwAuvvdY3NDw5 + NTMzOXft/IWX3nih+aMvT3z2cc+jMcg2OzPTcG8QOfWzzv382q7Wd96A2Ncnz8enFOiMlpSCvNj0ZF2c + QWXWGxKAmhOjuPSXj7zy998XJu6Nm0yaptabvWMDbf299x88abjSkJ9fQ2NIFjh4i1QWHrxeZXq+XM8R + KZkCBYOvQI8UkUqkMrJEcq+gEKXRvHz9+jVbt+167vntBw6lFxQFhFHC6MzY1AyOROFHDkvNyiuvAfKp + LV+yYtmGLSu37Vy1fW/9tt1rdu6vXbMpMa9k8botWw++WL99b2ltfXJ+qSox1ZSRbUxKrVmxdvO+w7Vr + t5QvX7Ns/bbl67cVVixZXr9p8/YDlUtWxabkFFctq65bk11cuWz1ptXrt6Tn5GNGKuTcLz2nIK+4HGjK + YEkAuFJojVyhNCO3kMUXXfj7CoznwKCQBKjIkgCPl6T09Agq2sUY/rZs27pyVf3eA/slMmlsUoLBZAgm + BW/bvr29oyM+IWnZivpV6zfu2HvglTff2bZzz969Bzdu2sZk8aKoDIlYnpickV9YtnzlGkA1EjkcPQid + 0ZZQPkG+je3NT2amoFNO/3xm2/bdW3buXrl6Y1lVbWZuQVZeYVJaZlxSqtESrzfHao0xSq1BptSptCa5 + yiiWaU2WlPyiarMljQG6cmKGISaeJRByRSI2m336mx8MDBHaWtsGTQxYaGeLLFToNy4EVCjEflSKotGy + cnPSM1LXrV+zatXKqsqqZUuXZ6bn2sKNbufq7QX3AjyQ4S7xgheBr1eQl2cgkRju5+Pn4Wj33svPW291 + Pm698qjhr/nOBmt/21RPyxxyRz4wM9IBkenultmOm9a+pvm+xrmBDgAe60j/XG/HbFvTdMP1qauXrIBJ + jVetrTcnG648uvTHk78uTP31p/X61enrV2Zablp7W5+0tsy2tVjbWq2tzYBbU1cuTZ7/4/HJM0+uXra2 + tTy9cf3R5StPr1ybb26x9vXP9PVauzrmujvn+3pmOzut/X3Wni5gKuu9Eevt/pmBzrn+LuvokPXu6Nzd + 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 + btx4++JV/4rq6JCwhLg4sUzKEgPzeBwu8Z/xhNwYDjOCGTlkxOD5C+bNnDt34jeTGwYOGDpqZFV9Q35J + aX5xSXxycnx8skIZF5+kFSnEXsHeY74dd/HW5ZZ9rWePXywvrXZ2dGczuWGhEQEBQcEhYRBf3yD9TD8i + QHFKU/YOLs7OTsADPD28CfWpEb71gFhuLi5eXp72Dnb2jnYDmhqdHB3DgkNZ0TFGRgS92CwyJXXtmrUO + 9vY4DQ4KHq3/kwcOY+IDB1mQcH/2rp4W1ra+QcEOrm7ufgFybZKFk4ssIWX7fhLz7c7TVxu27Tp39dbB + I2fWrG9ZvPTvMWO+KS0doI7LlMiTZKpkVXx6cmZhVmFlfFpBZknJkDFfp+QWl9Y3SBMUC1b8ghrefvoI + hoLy7wG1p7e7s6uns3tn27a3r1+RzI+6EQOGV5VWPX9BAOz1m+dP3r748PbDwzM3tu7YVfHNuKTUlNGS + jLERzCoWuyIvPbe8MLegpCyjeHDj4HAuCRKDD6y1tbW5Ofl2xWcXPzn4LiKLpshHlsSlMDcxBz4BooBS + EAsz4BQJSmFrbkcJ6l+msrAnUSggepeUi37XKQCVk42zm62ru42Lh52blwOJlk4cU05e1D1FQqU7+/g6 + ePrYe/g7eQc6BgR7B3na2SaF+L9Z+Yduw6rOtSs+bl/1ef2fPS3rdAe2d+7Zoju0s3fftu4dG7q3rfn0 + 54qPP/784pvvXv/6U9eu9Z3rV3wcM+59WvmbkkJdQ6Nu/HjdnBnvJnz1cvQI3R/LOlYtfT356zcTx+t+ + /qnnt191+zd/3rexs3W1bsvKN61/9e7fpDvYpjt3Snf3VseF0592btTtXNfetubtrjVdJ9p0bS1PJ0/5 + JzVjxehBD+8cn/XT/IWrSZTFrqt3P25c3bt5vW77zp6tq3s3rfqwq0W3+8Txn1b8tHD+s8OHdRtbX6Oq + LVt6tq79tHNl15ZVup17767ZPH/S5H0rN7Yf2NO9u023Y2vX3hbd0+t4OTt7usFRPfrVU7t27169hqyj + 69H1kJ2de0hwP/Im+G8i6OMnjxctXvTg4UODoAgRJIpNNoMKCBPQEOcgKNARU6CJZCsimLKwGAloB9jj + 6R8dHi2RqDLYwni2OCGcIw9hSiI5cpZQg0oCwwQhkcLAcG5geGxweKxPQLS3f3QUQ4zxrl8gIyxSEM2U + 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 + yi8bPnbyvNfrxs0uq2mhpwnwS9FT2FKFPiaeEUom3YoKiSAdC739wmlBUcER8bGJ6cCqVBZ/xZub84vr + AEiwirEXL198sGLwJUStcRNnZWRqYVqnsYSZchgc0lcXLLfYc/HVBLeERsSBmlIYnGQGNygUJBNGRRJH + Ct2HFkrlRMXSo+OSnB38aH60IP8AMkuVu4cPCT7uTY2b8vfxJT0AYSv4+7/wPoGawE5gGKQUF1EeKuRQ + aWBIJFWA2opMFIBQY6WwSs32i60UbgGo3L1oUAIDyTxFsICamkdGRhPXjZeXF3HPDCUWEux8V9IVzQ12 + +xAX9yHEW+MJ9hvq5uXqDuB08w+KTGJwuEKp2mDTmbMh5qzCrLwys71IrrZAlFqrXG3OkOnkGovGmA3R + GrN1JuKP0pnw/FqJw4rEACROKuCWQm1Q6ywSmUZntEqVWkiGVJHO4aeBqyQyXHeBJDMwNIxYKm6ubD5v + 8Zo1fzwh85+SD96Ao7vz0vvvfPj8SY9CpcuUqi5dffvStXeOt58/ebrDZstBLZpfUERYdEhwuJ+ff6Bz + HioGI3XatMnjxk8pKi4/caZje9vu8ChyHWAAubt7uA0d4vT74H4Y4ublGRkXm6lUtY4fv3D5CrYgI4XJ + LamsNdnzLFlFlqxiYGRkXCJq4ocY5u6TzpFk5VYYreXlNRMrq8fnl7aoDAVSjU0gVkSERscGhcfTQgBR + rqAnAlMvkAk6yXFCFBbnr0AWiqCcJPVicZZ+wV3usNTIMHaat7efGxnz9n/LEDfPdDYvv7js1YVLjp44 + 3X352pnz3WvWb548ffasOa++Mm/+ypVvzJo5c92aVdu2bJw5bdKZ0ydPnm7fe/BI275D29v2b93etmnT + 1g1bdoCmNm3b8dbajW+t2/TGmg3AqrWbtq3dtHXlqvVOuFq9ZOVb0+e8Nm7yjOEjx9iyCkLDoj08fPx8 + fAF28VGR/l4eri4uQe5ueOQC/UKR7UULDAyL8g8mox/BURAAFXQ8cVB8aOGBITFAKdxjkECnFwtlImNS + oOCRZLH5W7Zu/+rrb67fuP722zd//vn2r7/duXPn57t3f7l9+/uffvoRQPXgwf179+4AsX777d7du3fu + 3P35p5+/u3ePxCG4eu1qGoPp4jrUYDaNmzDObs9OZ7I5XH5qOjMhJTWVycIz3TphwuKVK1dv3PjRJ58l + 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 + UA0eNTpWLF2yas3+w8cut10fNmAosSsS8GAJggIDg4MYZI5cD18WCyiF6+WtbQopy4+D6wZ8ha8dNxm6 + h4fGhYamvLQC5Pz8OLgJcPdHxSSExSb0BY8FBJxuPPOf7/79248/fvXo/Ssnz3548/apE0eXblo5/513 + ly9cvnn9luKiEpvNtnjJ4rbrV85eOnfj8o0NazYlxiShQSYDTfK9vXGjEe89lAQHBUdGRuLJgIcGBU5v + sIouQR0GNekw8rh/cXsCqMjcUwymH8uPyWCBqXhsEvifPO5xQXMDqEAUJBYFMUwxeRAgFpgqgEVmoOKz + /CmXvyBip6KCUtBAFcIKDGFx8W6ODY4IY/sJ8AiKCn20eJbr3MHefVtf7Vj/eueGF1tWd2xe3bF+RffG + Va/XLn2ybNafC6a/mDPt5YwpL6dPeT598s/jR/0+ddxf777z26zJzxfN6Foyu2POtFczJ7+ej5JJL6eO + ezp11Mt5E1wb579a/+5fGxd3ndjraj7Xc/ZUZ8PJrrbG7isXXNdbui6ceX3pdPeNS93XL3ffuux673p7 + 24WOpgZAUeflCz03LrvuNL++1Og63vxJ+dDV6dbTp9cBV3765F/rZyy488HNF80XuhYue75nQ+fRXa59 + e59eOv6y9bTrytXnbfdP7dl/p/mi6/Z919mGVy0NrpZLHa0NHS1nXRcuuG7dv3v85IktW/5547brSlP7 + xTNPb17qfP5DhwuYBGhyveohM611v+46cfzkP/7xD3K/dLzqASy5cMMQj77e7u6eTnLzPH74/ulzZzsB + Sa5u3ClIkO12uV51EuOVq6N39+5jDc2XkG0nYQO7KVdBF3bkJlXY4xL1SWKLTOWUq5zxSbroeHlskhJA + BbKi0wRATrJBprRrdBnEq8qcK1c6JUoAFZn3iTYixSSREOrAJ+i1Mo1dRgEV4EqutEuIb15qEkBIYgVK + xYnNABu5NkOstAslVohClabSZ6GpeIlFpHQoDJm6lFy5IT1Jbk2Sm+PEunipAewkVaSIZbaEZL1IagU1 + xSYQ58NkiQ7IJ5KZpEqrTGWFGk0zFb33ZKUV3dNa80Uah0SXpjTnaI2ZYgUxoKWkl+pT8mQ6p0TrSFbb + JLpMk7NMZyuQatK0ljxjSiFoSqbKkBszZfp0XUqhwUGCUuhsxfqUYpkuW2HIoefz1TvLgQfgBENahSGt + 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 + 9u13P/jgY5TAFOAfEJCQGM+gPBCQGl+/QAiO1NAJEnKZgh902G63WywWlNEfCG0oALfy8ov5fBnOQmhk + fAQJNi/T6ohFosZg5AnFaUJJcFj00rWb7n3sBQJTRD3Fwrmnx6Kk8AQBwaHYri8OSWgUMzwWF3ZQaGxE + PDcgJMKcXTI07pnrHejrG+TvR4TLgMBgb5wRX4iaDMhrWAMkN9raiJLibmqobnrbQ5nQlD+tj8JlBoJC + gVZMoZIGWmJ1GcgETeFSDyKxcQl/llRU3bLpttqmmudeeuZ/Lz/31P+e2nHv3fc98vCKtauXrFoxb36L + wWLOsJitjkwq7A9YN8gvMNgvKJgaCogO+/vMJT7M/QBTSH7BPoFB3kGBHYsXb9p42/Y7Nj/w4D1PPf3Y + c/976sWXnkN50+ZbXnr5f/c8dM9Dj9y/r2v3suWLNtyyZsc9d9z3wN1ti1pbFzbfee/24vLC+oaards2 + 3nXXtoUdbZERYdg9iVSit5mK6irvefzhb4jncc/ICNG99B88tnLNbavXbV69bsvCxesXLlm/oGPNguXr + WxevXrr6to6lqxcvXT0yPlNWXh0bm5BXXLpk5apNt9/xwKNP3Pfw41vuuHvNLZsWLV+9bNnatRu3pilV + b3V1Y53rV2+SiA0p6ZpN2+8YOPzOG7v2AqU6e2kzv/6+A4O9/YcPHDqG2Xc+OP7+B8f3dnauXL2qvLLC + 7XaXlZUWF7nLywqbW+rrG2trGutv3br1jT2vfXPiKwhsIyPXJieHpmeGh4Yunv/nzOjQP8PX//nrzM9n + /zj95+8//XLqu59OfPPd15/98O1Xv54+eeLENz+e/Pbbr7+YGBlpqZmHk8VPSVCpiWP9xeuWoZ9Xrvwz + NnptcmL44vk/r10+f/av3078+M2pn384dHjg999PY3Oj18kheu2V1+fPb9u0aUtTc2tNTUNOrjs7O9du + dxiNZp3OQDuiSOPhMRhH28R6zyG2myhgKqspXbt57aoVywMCySCi4tKikvISfQaW05psJnCUzWZBnplp + Ky8vKSktLSwsrKmp0el0QqFQQk1pPB4nNSWJkxwdG5OYnAjGiYoB2iQmJqXQmmqismYwcGEDYzABqMh3 + Akz+ROMEVsflhU2npKUvWboSi6AcSBn1Yfr33pyDG5nSIc/BjcPhpiZzUhISk5EDq5KTSRlYFReXkJCQ + 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 + FZTtohJHdW0VOGrx0kUAp7KKUpVGWVxa1NDWVN1QM3nq5FnzZ7e1t8yaM/O5F56aNWd6W0fTy/99vq29 + qXta19z5c6ZOI3A1a8Eso1W/aOn8/7zyItJb77z+zvtvLHlqIeq//uar0NEXLZkPuXv6FCx99X+vYl/g + t7ffffv1N1+f2t1VXVudLxZaiwpffu0/G3o2Hfj+8O6DB3p37965f9+Ovfu3bNu1aXPf2g3bvl29+ZMv + Vr7/8ddvvvfJS6+9/dqbHwGolj77yvzFLwCopkybTwMVUlPbNDBVXdMUuldVRU1rUVm9qbjUVlaZwc5T + 6a37Dh3L4eZHx6Tw8qSMsLDxbp6t3dNXbdr89co163u2bt2+q2/Hno1b+zZs6V2/eRtx9tu+a8PmbUi9 + O/YcOvr9nYd3oVRBQYU+du8+ZOeKb1faSyvnLlr6yZdfvPneW98dOUj0upH7Aw9u3Lr+9/Wrl3//9cxv + F0//ceksgOrczyd/v3j29M8njv/w3c8/HQdTIcfs/r07T/74/Y1frgb7BeEGm/vswk++/XzR04sa6qqT + I8NkDhKR4uH9Ow9u3/jtt/OHvtv7++8XnI+Gb1274RxxvvLCfxUSla2wWKHQKtSaHB4/B1iTmQWUiotL + AFrQY0ZT7EDgwdUd7zFib1GqFUufWtw5pWPKjM6Zc6bPmTvrqaeW6HUaDjfHYjOLZGI2O5sHNU3AE4kE + QCkICoUMiBUREZGcnJyRkYEcEzWKb0JQYFAWhx0ZF5XJzTj24/F3PvzEZCvBXoQS8akff3/3nS8gBwdH + 4L4NYob4+ZGemb6kZ6afh4dXcnIK3YEKEzlK+oEdN57Yjqh+U7ipadsUcpqmKI4CQ8VAiIoiQdLDSGiK + WAjYPrnz3d15PB6fz6e2+rjrFE7f3d09ODiY3h29L/JeoiaqecjPGRDc3T2RP06TXICipMsnCVsa4O5N + xk8nnttBoKnwwNCY4IiE4DAykGNoZFJETCqAKiYhKzQyMTGVDLpAXP5SuInJucnZEhZHkcNWczikQ01s + Rp7cVnTq6pX+0aF/bly/d+v2w7skhsGD/oekA9QACdoHOrp9+zbNSCCoe/fuQVO/desWZBqQaL7CUsgQ + MEtBE/EGxESzE3CLrkDn/3fC0sGh4YdDQ/cIi90dxGH8+tvgT8fHTv7g3Lf//jcr7n306eiyLx99/eXY + 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 + MRXCYxOnz5nfu3Pf5q07nn/pVb2pMDo2KYgZ7kkFBA8KCo4gA1WRX52hG0EHohUmWnPC5OXl9a8iRQiK + +u2Z9JcgV5nqce460Y3qeYWr7R4SGhkcGsVgRoRGxIKmAphRORzctIkUSHt7e/t6uHuOd3F18fDGPRMW + mYhWBR7jOtLcHhhCmAryuHFupN9UEBNUwwxJCQhl+oWFRCfy8NG5MzB06Y+/wkJYuJDegCUPMloXiXoy + gfxWDqJy9/Rwc/N0d/cmgdc9/TyJeSqA+F56MyDgHpvg6hUYHCHTGMQyda5IkseXcPLyuTw8ZQUA0sTU + jNCoaD8GY5I7qJ8hU6r1JpNEJjWYjHmC3PwCocFq0ZkMrOxMpVqhM+osVmtn97Sy6lqtXg2ashSaAUX/ + eeXl0vKS8sqyohJHRVX5S/95sdBu1ejUjc0NICWkyuoK0BTYiepkNbmlrXnOvNkvvPR8VU0l5P+88tJr + r7/a3NoIlps6rXPGrO55C2cvWrII6ntNXfXchQumzZrx1nvvHvj++yM//njsh2Onfjp14sefj5/6af/h + I0i9O/Zu3bl3y/ZdazdtWfbt6mXL13317QYA1dvvf/G/tz5+8b9vv/L6B2+++9mCJS9Om7V4+uwls+Y9 + DaGtcy6AConET6+fXFnTYi+uyuGKPv1kRUfHjNiYpPS0LFxBX7+A8CgSUK6le+rxn09v2NILoNq1c+/u + vQd27jm4saevp7d3/aYt6zZt/XrFamDV+p7N63t6Tp//BerRMKEpqJ6jZBSbR48GKcehj7/4+v2PPr5w + 8Rzk/nv/XP37wj9Xfr186dz58yf/+uvC+fOnLv9x/ujR/cePHz5+7Lvvvz9w7Pv9R77bf/TI4RPHvzty + ZM+O7RvPn/npw7ffxyFV1pc9cN7Ye6j33M9ne9ZsMZst49zHbd6xCVu+8Mtp5+jInVu3H9wbWLtyfVpM + hoCXL8gTpaWkx8XGh4SEBTKCAhgMP4b/ROJBRwazBl54UEP3+jP8GhrrcnncQCYjKiYSJLxoycKu7ilg + qraO1nlz5xQVO9LTU/kCHpudDYHFyoCQm5vL4/FI0HSBADQSGxubnp6emJiQlJAaGxsXSTgnzM1jkkqv + 4fL4bt5+kVHRSFExIDcXPLa4gbFrTBMmjgeMBTJIhy4cFbnDAXlubpMmUCFi/p0ITdFOiePHBQQFRlOD + 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 + FpXl5hVlZedkZefl5OalpKalpKaXV1QhpGdkUYrZ1OycvMSklJzCIp5IzOaLO9l8vkwlVujEcr1CZZap + jUKZRqzQ8yVKrkgm1xgUGkNhWTWkKJ5Q5vKG9Ca71mBz+8II/mDMF45ToQdMFY4PR7pHusmyv/to2z9Q + U+/g7r6hPRREHR7bfZS2/cMm0V9NHugdmugZGsexLl/c6gyJZPri8sbk9MKM7JKi0jqMmbRM4i3TZHWf + vXB1Y2vr7MWrx06dPXn2wqlTZ0BXp86ef/O9D/7x2hu//f3L//2Hl3/2q9996/s//vI3vnvkvscm9t4L + mvKFenFmjcEtkupEUr1QomayRe0MrlZvweU0tzMraxqEUoVCrReJpLt2JaalpSUkJNy9jeDUtru3gz8z + s/LSiGiYlZSelZCaDrLalZhy1927snPyMzJztu9ISkxKT4OUmZaTmp6blkkc+mXmFCen56dmFuUWVuUU + VOUX15ZVtZRV4ZEhk6ZoYz/qWSPONhtbeQ0tPDpB+4NBGoFS+bJAU8ivB0q1cCrrGU0tvA6GvKVNVNPI + rmvj5JY1uYe73zl98tzli+cunD9/+dLZixc+PH7syqVLN2/fOn/hPDoJfHX2zNlLly69S/1Onz1z/uKF + i5cvofyZc2ff++D9d95798NjH508ceLatWsgIhqTaN0UBUif6KboTZqpaJqiyyCNGGnsXSJO/8jcKuyl + /P/NzU7PbKyszE5N/+QHP3viscdvTl+bW5q6cu309euXVhaWNhc3n378c9/74QsLW6s3l4FwM6tzS8vA + DsDS8tziAlEK/fVP/3jiqaevzd1c3doAbG0ubRJiW5pZWJrbAM6sb33pS998+gtfPjt9fn59fmlpdnl+ + ZmVlYZXQ1NzKwszirZsglRtXpp55+nN/e+Xlra3NhbX5udWltWUg0+LG+vLywszKEnF68Zc//vW+/Q++ + c+EjENfS0sz66iJRTyGsgZ2I2eHff/y7R5986tj8xwCbjeXZhTtktd/NO8tra2t31nDM6rH333nnnX/d + vPXx7dmbIFNA7MrKEpjqxtTHAKrl5cVLVy6c++Dcu28eO3D4ocee+fy/Pnzrz//887nLZ0BN66Am8BPl + Lf2THyGqOxtkdhZx7re2tnnr9vV33n3z7beP3Vnf+uzEM6qR0TNow+z86urS9MrKq3/+90vf/63LGCvM + Kq8sryXfsrzS9MzC9PSchMREIBNtjgFkwpcOMQgK7ERvAreSk4mLURTAaM/JKUhOzUrAJzItO4mQVQbG + PwI+jDQ7Ic7ILiDKWAqoEGiaSqf8LdEoRe/axqQxSWJHoqFdzpM6xCov8TZBpkuZ2nkGhsDMkzpBU0yB + meiv5E5ABfCjmaWt7ZR1iE0SCFI6H1/jhQytcfRrXYMG/5jIGOVpfWJLWOfoRXmFKQp8YskcrSwNW4Iz + G1gyu0DtbWJpQGUyI2iku1No5cjdOLNA5RVqfACYFuJR3U/cDFhifI1fqAsYPCMCdZCnCZpDkMMOql2j + cmcvWAUivsY1wFZ6OAqPxt4HvFHZeyB/I1ZY42oy+6hXpA/KAF2AAXMcZxNoA3Jrt9Y1wJG5WRKnVB9E + RWQFKkNIoguC4hBYUgdf6wHkgOs6OEaR0i/RBQBUYmMAjQdwghJ1rn6gRZfEpnWS9YVU5qhA5WeK7QpL + t9LWI7fGxeaQ2t0D/DMFxqSWuC26B+jC0wbQEgScHDI0JGPwAKpGG8S6ABI4LdhMoPNJjRFzYNwYGFO7 + BtBgibVH4x0xhfbq/bt1vkn/0AO2+AE7Meob1bhHLeG9Kicoa9Ia2aN2D4hNUcpEcEDvG0ZsJB3S/Yl7 + DENE6wCtRZkyB3HsYY5Zo8CAowbvGHoSwKN09qhdJCbTq7yjoIhAP5mgpXb1I0dkikKY9vcfBFDhqp2x + 3ZDvCRzauwGZuGuQ+AFIuChkIqb1MJCtIdmrPf1yG/GgraTcl4PKQJJABfAMxG6Dpx9Cs1Dt7OSqOCKD + TOvU2SBP9AEFgVJEpQYMcKHlxF8iaAS9R9MFqkNddDPoLqXVYiiPMxPSGCJKJEjqyDQRZ9wESyz+EWdk + kkxY8o+YfcMaO8nxRAmB6Ii/hAEcCD4BhGAT9OLrOwAyDAwcAlPholCLCz0QGgN64RCKqSZCo/eAWMAz + 9tgkzqD/z5wlggpx4vocuGINjhopZRT6BNcCJsTZcDm46c448YEOwDCCzcIT7shuna0Hva11Et/lhKms + 3TJDSO/ss3iGlBRQIQDkaCbBscAS4B/SyEEVhB4j4/HJB5CJBK4lOHIUDEN0XBHict0cGfN273PH9xo9 + gw7KPwc6B9eLArTXco2jG9QkMQT0rj65JaK1xvT2Xr2jT22J0c4nCFk5YvTqvUprhJ5YJTOFDNRawLgK + 2ngPF4gxQ9ymu/rw6Jn9uC/Eewc6B5dAeowy/0NP4h7ZwsQ3JvGb7+yhpmzFcXKp0Y9YYwtBLgRNiXUu + rtTIkehFSqtEbUcskJtZAk0XX82TGGRqh0htEShNIo1FrLYpjR6xxqYy+zTWIE9qkKhtUg0KWMUai0Rr + E2utXLlBqrEI5HqWSMXgSju7RAAACOVsvgIJFk/OE6k7ukTN7TyeSCuSGSUKC5MramPyAAYdHIlUa+vg + yRs6BPUQ6HkKBk/NY2tFbL2Qa5BIzGKJUchTyjmKMi2fKRaLGIpGiaxT3ra/tfLVtOp3d+T9JTvvLxmp + 17alvpVYHm1rydVJGgTWZqnE19L1rfzWR6pblRxOo9ZQItbz6tVdnRImW8ETaNsZktYOURdoigMEUnR2 + yZgcFXa1MMkSVU2tHLJaVE7BjoTU1Mw8fBUggyYSA57khISU9LSsnNyirJz89PRs4FBWXjG+CrsIeuVV + 1TR2MnkCibqLIwZQgUCAjmQuWRsHhFBZ11ZV31pW2ZBfVJWclpOTX1Jd35KTV9zSzCyvatp95KFvvvjL + FoZYKDayedLaho7KmmYGS8zkyujzAHK6eGKcCjxDm8aVVpIJS6VVDWUV9SXldUWUnqqwpKKgpJLoqQpK + 8gtLc/NLcvJLs/PL8OFEIq8IoaSgqDy/sDy3sDSvsKygtKqgtDojryyrsLKguKa+uYuaBSfp6BLWtzBK + KuuLK+ogt7UzUTUR6arrOwUSLeWIorygBFJgM3CLBqGSikbQEa6UXOx/4Ao5BCkpz+kI2ASA0WaBOBaH + kEugcsr+k1PTQIAKBVo5clug1+iJqSw+ic7l79tt8vXaQoO20LDZP2ANDhm9fYH+fSMHH933wDOR4UMI + WldcgSfOGdXaQ2AqkysORtIS35iDjuCwwRHXO7tDvXttnn5nYFjviPgBZsEBW2Ao2LtbqnWqjF62QKUw + uGmUsnji7uiQ1d+jMHn6J4/2jR1Smbx2fy/OiTJAKcCSTO+QKG0ak19vDaqNXhzoCPS5w4OuYL/WHiBl + HEFglTPcr7P75AabxRtxBXrsvpgr2OPwxw12P1BKZ/WCqYzOgEhpdPijPJl6244kMFVBaSVgprGpDUzV + 0NQGRgJQkZk8wKqm1hqKr2iyKquqLqusLior5wqEDYyu1Jy8zNwCQNS2bdvr6ptr65uAHHftTMwGb5VX + FReX5xUUAp+ysnLS0jIAVMkpaalpGSWlZHo6UGrHzoSMzGwml8sTYSRwu3gigUwjURj4Io1YapBrTCK5 + VqLUS1UGoUzNE8tVerPe6mhs6QBT1dS3mG0um9NrsrnsLh+YyhsCU8UC0V53IOr0xYLRwVjvWKx3Mtoz + CpQCUA2MfrLs7zDl9294cv/g2N7xvYfH9x4amzwyPEaWAO4d3BPvHfeF+m2usNbgxIOQnl2SlkVMakur + WwpK64GRNfVtL/3mj+sbW2fPXX7zzfc+/OjkyTMX3nrvo1f/9db//v3fv/z1H1/82W++84P/+sKXv/HE + Z7+458D9AKrewUnQlMUREcvNApFapjR3MAUMlhAoJRArKHxt5golwWi3VKoCbSYSJV7G3dvu3kkZ+xFP + 6Rnkby7JKVkpGdlpWXmJqUQSpWXTxKTUu+5OSEgEc+WmZ+QmpuYkp+WlZiBA0CzKyCnNzC0DUOUVVRUU + 15ZUNBSW1hWVNdJKJ7KwdTMHTEW0TxQyIW7pEFKWsWRyFDZprEIm4poGVl0Lq6GZ3dohbO+UtLQL21iS + 4rq2Jq708y987cSFMxcBUxcuXbxy+cT5s8Cq21M3r177+NLlSwCn02dOn6N+r/7zVQDV8VMnjh0/fuLU + yetTN8BU73/4wUfHj7359lsffPABAODGjRtgJ+AQMAlchB/gip43tbKyQpEU+aEAfgAm/LBJl8SPzKFa + WAZeIRNAhaM3VtfWFpdeffmVIw/e+++3/rV+Z/nK1TPXrp2fvk08mP/+pT/uv+/o1dsfL67PT8/eWphb + XZwHzCzNL92amSU+JG5dmf3M45999e3X1rY2ZhZnVhfXlsm8qMXFlTmgHgq8+vK/D95zz9+PvQmwmJu/ + ubo4u7I4t7gyP7c0u7oyv7EwvTE7u7W59eMXf/7Vb31rfmNuZWtuaWV2dXlldX0BNLW+vEict29t3fj4 + 2oMPPfTTn/9yaWt1bXN5dXluc3N5fWtldXMZeIYC149ffuCBh19+gyyBdWd9dmNjYW1jfWttawXpdTJ7 + 6tSHJ/7+1z9evXp6evb67MrcubMXgZwzM7c//vjK1Y8vgjqnpm6cPnv62smrv/7FH44++MQ3Xnzxd3/7 + 4+vv/Xtm4Ra4cG2Dmo31f6z9iIJqY3N1jdS+srR56uSFC+fP4iTYfOe1S0yB9MW//xX7Fm/MzV6a+fVv + //6d7/3y4YNPNVexqsrqS0rw/sf3qyQrqzglJStx184du4gaiiaoBMrXH/HyB5RKSd+RlLojMSU5I5us + Q5Wclp6Tl5yelZSUkZqWlZaenZycgSykU1OzCIMlA64+ceKHAGT6NMbHlKYsABWNWAjbuGJbK0vbwTW0 + dGk6uQbQFFtk5YisHRw9sAp8xRHbQVYMsZWY/4mIBokhslBqJX2rQE9WBzL+/8h6C2jLkvL8u8farru7 + 23F3d3f369Zuo0CCBwIEEjRAICEkBEIICS7DwAwMYz097e5+3W/f76m9m/lnra9Xda06+9Spql1773ue + 33mr3jcqMQTEer/UGNRB9vmH9Z5BNcS0K6nxkrCqkNc0g/ULLQKFR6wKCBQ+HHlMUyRibwYEAqphiew8 + pRs0hePdXL1YH0Q1lS0BxuCqveAovibMVviUzpwtuhcIoXWPQsgqXRnQgswS5yo9eldObgSWZKDVLMEx + II05MGbwDqkdaZRRMHgH1faUAgjnyurcOakhwpK5kKvtCa09ha6lxrDOmdW7snJTXO8askXHVbYkcWOo + j2itaY01CRrhql08hYsnd0LagqAEKrfMGLT4B1WWCA/YKXVJNCE0Aslo8JMNMLbEhD22BzQFvHEm9opN + UToar9gcg7I3Ev/vKYkxBDzDAIBqGitoBycC6gvaQmO+zEGVi3j4wKdUniELzt0/aQ7vC41+EGTlTB60 + JzAb477sMUf8gD97JDj0rNYzRHsgtEWnKDtVBrk7uZdeqUi8dJBzzLEx7Wo/5sHsH7VFphyJvdbAJMhQ + 781KrBHwMMjKSDZNHYyPHfMkpx+7u6AcY0QpqDCFiV0F+ltuiUrNYYUlBnLWOlJGIJmbWKiAN6AFc3BY + 4yBOLKDRccl0ZP1YxojJcaZByyT6UHKvKzzhjk3qXEmFOciRmABUco1bb8WXdMoVIe6/3an9zvgetIxL + gAYh/d2JaeKkm/LnAU2P9qHUiZEnuQdHwEt4SUlzQhqgCAAVHW6Y1PTmQBro2hYklh9PfBoJNOWKTpKD + wJ7IOPQ9wIPOLWGyOg7DwKcAPyBMnDWNKzhBzAMwwBwZA8/4hw55c/txBLMHegSGGUMjaARgZiHLGget + VAgvjA0DAwfi6mPAaBkNap1pR2zSFCaeLdCLL7HH5h2yODMWz6DRmTE40oArLeXK3xuZdPgI86AmOgKk + gUnQO4aKcXqJVwwgN9k1hxECogLDhzEYVAbvERNWei/huhSBGeTANlwIXA5bYBRjw0cwpGDuoCM6rnGR + 3VNqOx4HYHASeGPx5gBUVuKKcEhPLWHVOBMKe1hk8MqtIUodgpMzyD2xaUyvyTPopaYObZr9w7h81IM5 + aguTxYoYG22YQo6ZMQaHMUWYGVxcXEobWe5IFhbq3CmtI6a2R+XmgN4Z0TujUhCUwS3R2ABUIqlRo3dr + jF6J0soWaiVq4hhdpnEINRYpmEpnM3tjJncUEKUy+hQG4vcMklFr9itNHrHGiiRUmQFUUIFskYokgZIr + UEJt84RqAIBIooNG4fAVxPs2T97dK2BzlCZLAAKFJ5YzuKLOAV4PW8ICekkN3Rw5m8FjcyV9AsWA2MAW + WzgCo1RukcssOna8RWYT8bUyrp4hsvVILX1iaYrJ/2Z11dfLq/6htuNYK4+tNXTy1eo+ZaxPeayH8Z2q + pt/k57++o/Brta0+NlcmUrcJZP08eT9HzuWreXwtm63i8zX9LKlIpOUKDCwuCZM1wNOw+WpinBng9/aw + qmobd+eTn9mKiyvwHUN+hM4jPtCLisvr6puLS8rBVJXVDaXltWQFXWHZzp0kZGplTRODDXrUCKRaBods + Rupli4nNhw3dw+3sYXZ2MxuaO0vLawA29fXNVRXE0fnQ1KGPfvbLQplZqXL0DHCbW3tYXAlPqGLxZANs + MVeoYvNVvUweSKOzl9fayWlqY7Z0kJV1AKrG5q7ahvba+vb6po6auhakyprGitr66uqGysr6ymrItbby + qpbymuZyKOnaBoq7mmvqW6prm6pqm0BNze29rSRub09pZROYp5ch7GMLWrsG0HhLZx9HoIVoA2pC5wnE + WrHcUN3QXlZN/KSjMsZA58Cndsr/BA1UtFUKL2msQsIR5DRB0UfQAhKONFPuK2obydJBms36GEKDK+KO + ZA1O/OENeeKj2T3POqNDzuiwJZALZPf409MAqtyeF/a/8Mnk+NHQ4H5PYlJi9Pvik4HkpNWfcoRy7lDW + 7IoYPCl7ZMTkzdj8ObJ1KncgmJjWWaPuUC6a3WtwRJ0hsq5PZw2p9C65ymrxJm2+FAGqcAY0pXeGg+nx + 5Oh+vS1odscCiVGVyau3h9zRrM4RkBucOnPAGUgb7WGLKwaaAnF5o8Naa8DgT9jDGa094I7mvPFh8JXB + GYhkx9zBpNEZAEoF4oNgKps3ioI3klUa3M5AyuQIKvS2jj52Q0vn7sKy6oZmNpvf3tGNC9PZO4DU1cfo + 6md29BG+au7opnZbdTS0tzV2dFQ3NfVxOTqnq7Wnv6m1o6urr6iwrLW1UyiUyhWavKKi5vaOrr7+Xbvy + auuaamqbykqqUAEoBaACLezYuRtMVVNbX1xSVlFZzROJ8DkWT9TPFfIkKlx3qdwsk5lBHSqdTakzA6sA + VHKNXqrSSZRandEhVehLymtLyuvkKkMomnF5w053yBeJR5JZlz9scwd9YRL/N5YaS2SmKDcVe7PDe4mP + iolDSCMTh8anjkzuOzy+59DkviNgqun9z03sOYoK9Iar7PB0PDMCMHN4wwB70EheUXVRZWt1U29dc9+T + zxRtezLv6JEP3L41c+vm/T++8fbvXv3zr15+9bev/OnHP/n1d//jx1/9xr99/ovf/PTnvvz8Bz4xMX00 + O7zHH86ApjQGj1RpkatM+PPV3cfV6G1avbWfxcNUWxwuh8fvCYQwjdueeKq0lGygeuqJp54iUPVUeUVV + aVnVrt1ERO4qKN1dVELiUFFxUWmmehJYnA/RCXAt311QvoswVXlhSW1RSR3thQKpsr65rqkTD0JdE54L + 4iq9p1/c0ydFoZ9FoufRTNXLkCDRBTAVbaoCWdGpq1eIJ5XFlTPY8t4+EYMl72XLylu6D330b359/LWz + Vy9cuXD+xiUSgerc1ctkp9mNm9dv3qCR6fyF85cuXQJKvfnmm6dOnQI7vfKH3yO/cOkiEijszNmzb779 + 1iniBfDU6dOnr1y5QjMVUAr/UAAdkXBSlLWKbI76izEKx2nbFA1XlHlqfmZmfnFxYXkZnDIzvzC7tbFx + 6u3jn3jpr//xe/+0vLVy/fble/eu37tzfevR5o0rN44eeuF/Xv0luGR+4e7S3PzS/ObKCiBmbW759srS + Osjh21/+zle/+vWlreUHGw/mF+c25zbJu2vzs0sPtza2Fm4s/NWzH/vWf/zbja0Hc0t3F+fubCzNri3P + LazOo87y0szq3O2tR1sn33r3ox/721NXry5vrc5vPgBQbS6ClObX15dW5ma3wE1bW1/90pc+8omPXntw + C/2vrM4/Wlt49Ah1VhbXl0iEqpWNf/qbf/jE177yEAhFovc+XHu0uLW6ubm6tbZBeOzyueu/+t9fXTjz + 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 + 0muL63u7Czsbm9uL+0CZlZ0tYq8CCP38+78Z+otL00v303t7xEPE9s7m3u7m/u7yylJ6bTu9nf7Ihz7/ + 0oc/+mBpZmVn/vHC7OriSnplYXlr7eHOzs7G2u7CfHp/EdX45Auf//J3/2k7vb62tbCKp20sb26tbO+u + I9PGJllV+If//PWZiTO/v/LGWnp/bXP5YGM5vbezs7+6/XR1f5dk+OV3fnbq/OSr828cpHd2t9f39rcO + DnbST3d3t7cPdva2VtZvT735yu9+MTt9a3np8drK4tStmxtrK8uLT27dvbKytLC/ur/0eHHq4c0nmw9W + Hy2n19N//o+rCqnyg594/+3Zqb98/+eYtcqiIkZmeVNGeUdmWVtGaVNmaUNWaUN2eVNWafOxoubsalFt + Lau2uq6krr68qqOtXNhczSlsai2vYldWdtfUdlXVtJdVNlZU1ldW1pWU1xQWlubmFWbl5GOs0tRE1vu9 + j5DSEWqX1LvpiNCjPSv77cw0QdF5nj+eeSwz50hG1vsAXRQ+galAUHQEIRKpSDay4c8xbZVCiDxgJxIh + jtQLqFUbxPtfZk5RJnH9V4Ypk5NfecjoI4usIFDXJMYQRVNeiSlMr72BHol0CNRTqJtSW0xjIzs6yJpA + a5RksyVU5hi0NJ7S3UHtfaJdRzCEZr6SeNtTOVJiY5in9gF4tFDybD1clbdL6ujiGdlyp0BNVk8J1T6O + wik1R4iW7OmXmyJsuUNCeREkBi61D7gi1QU5MofOnpQbwjwFFMQgEhGXWxMgKGh1KFzvGbAER6WmCJ5C + DFDWhM5F3E5AjUNDoJQjVLmSQCOu1svV+uzRU9bwSaN/2BgYcaXOyOw9SlcvmMEeP2WLn/YPvuDsOeej + NgVZiYo8bA6NBAYvQIwh4mzAERtHnUnJ9h5Uia90M4UWgdytdySZYitZuKjzG3zDwDa9d9AaGXcmTiNO + bESRcYk5BqYCQZmCo3i6wT8MoY/QVTlTrsQZqKT2xIRv8JIxOOqInXb1nLfHz5kCE97UBWNwzBKZ8PVd + io59wNFzNjzysrf/ktwRJ9uZwsM9pz6AbgQSy/A29UGBwU/cMERPIjRQe6jARabISUt4BFBhDg2Hhy4F + +86TMeBKmbyDRmq3D7R2VMydPOvtPeftPe/qOetMng4MXcbtqFVk7EXQFGpoi40Hhy5GT76ERFzi3tDA + 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 + OP8zNGr/ISHY/xcX2/8SEtrPGBjb/yQk3f8yMtX/Ojtf/zs7O/87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Ozv/Ojpm/zAw2P8iItz/Fxfa+SIi3P8vL9//Pj7Y/0REZv9DRET/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RE/0REbf88PNv/LS3e/yEh3Ps/P+H/k5Pu/6Cg6P9gYHL/TExP/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/0tMTv9kZHn/oqLr/46O7f85OeD6WFjl/+zs/P/9/fz/lZWY/1RVWf9VVlr/V1db/1dY + XP9XWFz/V1db/1VWWf9VVln/nZ6g/////v/m5vv/T0/j+l5e5v/t7fz//////+zs7f+8vL7/r6+y/42O + kf9rbHH/bW5y/5CRlP+wsLP/vr7A/+/v8P//////5ub7/1VV5PpiYub/7e38////////////+/v7/7Ky + tf9mZ2v/UlNW/1JTV/9pam7/uLm7//z8/P///////////+fn+/9ZWeX6Y2Pm/+3t/P///////////8vM + zv9dXmL/Q0RH/z0+QP8+PkD/REVH/2FiZv/T09X////////////n5/v/W1vl+mNj5v/t7fz///////7+ + /v+cnaD/SUpN/zw9P/85Ojz/OTo8/z09QP9LTE//paap////////////5+f7/1pa5fpgYOb/7e38//// + ///9/f3/lJWY/0dIS/87PD7/OTo7/zk6O/88PD7/SUpN/52dof///////////+fn+/9XV+T6W1vl/+zs + /P///////////7a3uP9SU1X/P0BC/zs7Pf87Oz3/QEFD/1VWWP++v8D////////////m5vv/UlLk+kZG + 4v+np/H/u7v0/8LC9v+1tuX/b2+G/1BRU/9GR0j/RkdJ/1FSVP9yc4z/uLjo/8HB9v+6uvT/o6Pw/z8/ + 4fsnJ93/NTXf/0ZG4v9WVuT/Zmbo/3Bx1/9tbqH/ZmaA/2Zngf9tbqT/b3Da/2Rk5/9UVOT/RETh/zMz + 3/8lJd35HR3b3Cgo3f83N9//RUXi/1FR5P9cXOb/ZGTm/2ho4P9nZ+D/Y2Pm/1tb5v9QUOP/Q0Ph/zU1 + 3/8nJ93/HBzbzxgY2lMfH9zZKSnd/zU13/9AQOH/SUni/09P4/9SUuT/UlLk/05O4/9ISOL/Pz/h/zQ0 + 3/8oKN3/HR3b0xcX2kkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAACQAAnQQAAJ0EAAAAAAAAAAAAABIS + 2QoSEtlyEhLZ4RMT2v4YGNr/Jiae/zU2Tv84OT//ODlA/zg5QP84OUD/ODlA/zg5QP84OUD/ODlA/zg5 + QP84OUD/NDVT/yQkp/8XF9v/ExPa/RIS2dsSEtlkEhLZBhIS2XUSEtrzFBTa/xoa3P8jI8L/NjZP/zk6 + Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zQ1V/8hIcr/GRnc/xQU + 2v8SEtnuEhLZYRIS2uYVFdr/Gxvb/yMj3/8uLqv/OTk+/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zg5Qv8sLLf/ISHe/xoa2/8UFNr/EhLZ0xUV2v8bG9v/JCTc/y0t + 4f82Nqv/OTo+/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + Qv80NLf/Kyvg/yMj3P8aGtv/FBTa9hsb2/8jI9z/LS3e/zc34v8/P67/Pj9D/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/R/8+Prn/NTXh/ysr3v8hIdz/GRnb+CIi + 3P8pKd3/MzPf/z4+4/9GRrH/RUZK/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGTv9FRbz/PDzi/zEx3v8nJ93/ICDc+Cgo3f9TU+T/dnbp/35+7f9xcbn/TE1R/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/01OVf90dcX/fHzs/3R0 + 6f9NTeP/JSXd+C0t3v+np/H//v7///7+///Ky87/VVZZ/1FSVv9SUlb/UlJW/1JSVv9SUlb/UlJW/1JS + Vv9SUlb/UlJW/1JSVv9SUlb/UVJV/1pbXv/W1tn//f3///39//+Wlu7/KSnd+DMz3/+srPL///////// + ///t7e3/ent+/1VVWf9VVlr/VVZa/1ZXW/9XWFz/WFlc/1hZXP9XWFz/Vldb/1VWWv9VVlr/VVZa/4SF + h//z8/T///////////+bm+//Ly/e+Dc33/+urvL/////////////////4ODh/6Kipf+RkpX/k5SW/46P + kv96e3//aWpu/2prb/98fYH/j5CT/5OTlv+SkpX/pqap/+bm5/////////////////+dnfD/MzPf+Ds7 + 4P+wsPL////////////////////////////+/v7/4eHi/52dof9xcnf/Y2Rp/2Rlaf90dXn/o6On/+bm + 5//+/v7///////////////////////////+fn/D/Nzff+D4+4P+xsfP///////////////////////// + ///d3d7/fn+D/1dYXP9NTlL/SkpN/0pKTf9OT1L/WVpe/4WGiv/k5OX///////////////////////// + //+hofD/OTng+D8/4f+ysvP///////////////////////Pz9P+NjpL/VVZa/0hJS/9BQUT/Pj9B/z4/ + Qf9BQkT/SUpM/1dYXP+XmJz/+Pj4//////////////////////+hofD/Ozvg+D8/4f+ysvP///////// + /////////////83O0P9jZGj/S0tO/0BAQ/87PD7/Ojs9/zo7Pf87PD7/QEFD/0xNUP9pam7/2Nja//// + //////////////////+hofD/Ozvg+D4+4P+xsfP//////////////////////66vsv9XWFz/RUZJ/zw9 + P/86Ojz/OTo7/zk6O/86Ojz/PT5A/0ZHSv9aW1//u7u+//////////////////////+hofD/OTng+Ds7 + 4P+wsPL//////////////////////6enq/9VVlr/REVH/zw9P/85Ojz/OTo7/zk6O/85Ojz/PD0//0VG + Sf9YWV3/tLS3//////////////////////+fn/D/Nzff+Dg43/+urvL//////////////////////7i4 + u/9aW1//R0dK/z0+QP86Oz3/OTo8/zk6PP86Oz3/Pj9B/0hJTP9eX2P/xMXH//////////////////// + //+envD/NDTf+DMz3/+srPL//////////////////////97e3/9vcHT/Tk9S/0JDRf89PUD/Ozw+/zs8 + Pv89PkD/Q0RG/09QU/93d3v/5+fn//////////////////////+bm+//Ly/e+C4u3v+YmO//5OT7/+Pj + +//l5fv/5+f7/+bm+f+bm6z/XV5j/01OUf9FRUj/QUJF/0JCRf9FRkn/Tk9S/2BhZv+kpbb/6Oj7/+fn + +//l5fv/4+P7/+Pj+/+Jiez/Kird+Cgo3f89PeD/UFDj/1pa5f9lZef/b2/o/3l56/99feH/c3Og/2Rk + a/9XWFr/UVJU/1JTVf9YWVv/ZWZu/3R0p/99feT/d3fq/21t6P9jY+b/WFjl/05O4/86OuD/Jibd+CIi + 3P8rK93/NTXf/0BA4f9LS+P/VVXk/19f5v9oaOj/cHDk/3N0wv9wcZv/bW2J/21uiv9wcZ7/c3PG/29v + 5f9mZuf/XV3l/1NT5P9JSeL/Pj7h/zMz3/8pKd3/ICDc9hwc2+YkJNz/Li7e/zg43/9BQeH/Skri/1NT + 5P9bW+X/YWHm/2dn6P9qaub/bGzi/2xs4v9qauf/Zmbo/2Bg5v9ZWeX/UVHk/0lJ4v8/P+H/Njbf/yws + 3v8iItz/Gxvb0xgY2nUcHNvzJSXc/y0t3v82Nt//Pj7h/0ZG4v9NTeP/U1Pk/1dX5P9aWuX/XFzm/1tb + 5v9aWuX/Vlbk/1JS5P9MTOP/RUXi/z094P80NN//LCze/yMj3P8bG9vuFxfaYRQU2goYGNtyHR3b4SQk + 3P4sLN7/NDTf/zs74P9BQeH/Rkbi/0pK4v9MTOP/Tk7j/05O4/9MTOP/SUni/0VF4v9AQOH/OTng/zIy + 3/8rK93/IyPc/Rwc29sXF9pkEhLaBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA + AAAgAAAAQAAAAAEAIAAAAAAAABAAAJ0EAACdBAAAAAAAAAAAAAASEtkAEhLZGRIS2YoSEtnjEhLa/RUV + 2v8YGNr/JCSo/zM0Wv84OEL/ODlB/zg5Qf84OUH/ODlB/zg5Qf84OUH/ODlB/zg5Qf84OUH/ODlB/zg5 + Qf84OUH/NzhD/zIyYf8iIrL/Fxfb/xQU2v8SEtr8EhLZ3BIS2XoSEtkREhLZABIS2RoSEtmsEhLZ/RMT + 2v8WFtr/Ghrd/yQktv82Nk3/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTo5/zQ1Vv8hIcL/GRnc/xUV2v8SEtr/EhLZ+hIS2ZgSEtkPEhLZkRIS + 2f0TE9r/Fxfa/xwc2/8iItz/MDF//zk6OP85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/y0ukf8gIN7/Gxvb/xYW2v8TE9r/EhLZ+BIS + 2XQSEtnqExPa/xgY2v8dHdv/IyPc/ykp2/81NW//OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/MzOA/ygo3v8iItz/HBzb/xcX + 2v8TE9r/EhLZ0RMT2v8YGNr/Hh7b/yQk3P8rK97/MTHc/zg4b/85Ojn/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6Of83N4D/MDDf/ykp + 3f8jI9z/HBzb/xYW2v8TE9ryFxfa/x0d2/8kJNz/Kyvd/zIy3/85Od3/PD1x/zw9PP88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD08/zw8 + gv83N+D/MDDe/ykp3f8iItz/Gxvb/xYW2vYcHNv/IiLc/yoq3f8yMt//OTng/0FB3v9CQ3X/QUFB/0FB + RP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FB + RP9BQUH/QkKG/z8/4f83N9//MDDe/ygo3f8hIdz/Ghrb9SEh3P8oKN3/Ly/e/zc33/8/P+H/R0ff/0hI + ef9FRkb/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGRv9ISIn/RUXi/z094P81Nd//LS3e/yYm3f8fH9z1JSXd/zIy3/9MTOP/Vlbk/11d + 5v9kZOT/VFR+/0pLTP9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktM/1dXjv9jY+f/W1vl/1RU5P9JSeL/Li7e/yQk3PUoKN3/VVXk/9zc + +f/p6fv/6en8/+jo+f+AgYn/TU1R/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9NTVH/kZGa/+vr/f/p6fv/6en8/9HR+P9FReL/Jyfd9Sws + 3v9dXeX/8/P9/////////////////5ydn/9RUlb/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1JTV/+vr7H/////////////////5+f7/0xM + 4/8rK931MDDe/2Bg5v/z8/3/////////////////2NjZ/2lqbv9WV1v/V1hc/1dYXP9XWFz/V1hc/1dY + XP9YWV3/WVld/1hZXf9YWV3/V1hc/1dYXP9XWFz/V1hc/1dYXP9WV1v/c3R3/+Tk5f////////////// + ///n5/v/UFDj/y8v3vUzM9//Y2Pm//Pz/f/////////////////+/v7/0dHS/4yNkP93eHz/dnd7/3d3 + e/94eXz/dnd6/2xtcf9kZWn/ZWZq/25vc/93d3v/eHl8/3d3e/92d3v/eHl8/5KTlv/a2tv///////// + /////////////+jo+/9TU+T/MjLf9TY23/9mZuf/8/P9////////////////////////////+vr6//Hx + 8v/x8fL/7u7v/8zNz/+am5//enuA/21uc/9ub3T/fX6D/6ChpP/S09T/8PDw//Hx8f/y8vL/+/v7//// + ////////////////////////6Oj7/1ZW5P81Nd/1OTng/2ho5//z8/3///////////////////////// + //////////////b29v+zs7f/dHV6/19gZf9ZWl7/Vldb/1ZXW/9ZWl7/YWJm/3l6f/+9vsH/+vr6//// + ///////////////////////////////////p6fv/WFjl/zc33/U6OuD/aWnn//Pz/f////////////// + ///////////////////4+Pn/qaqt/2ZnbP9XWFv/Tk9S/0lKTf9HSEv/R0hL/0pKTf9PUFP/WFld/2pr + cP+2t7r//Pz8/////////////////////////////////+np+/9aWuX/OTng9Ts74P9qauf/9PT9//// + /////////////////////////////8XFyP9qa3D/VVZa/0pLTv9EREf/QEFD/z8/Qv8/P0L/QEFE/0RF + SP9LTE//V1hc/3Bxdv/S0tT/////////////////////////////////6en7/1pa5f86OuD1Ozvg/2pq + 5//09P3////////////////////////////y8vP/iYqO/1pbX/9MTVD/Q0NG/z4/Qf88PD7/Ozs9/zs7 + Pf88PD//Pj9B/0RER/9NTlH/XF1h/5aXm//4+Pn////////////////////////////p6fz/W1vl/zo6 + 4PU7O+D/amrn//T0/f///////////////////////////9bW2P9sbXL/U1RX/0ZHSf8/P0L/Ozw+/zo6 + PP85Ojz/OTo8/zo6PP87PD7/P0BC/0dIS/9VVln/dHV6/+Lj5P///////////////////////////+np + +/9aWuX/OTng9To64P9paef/8/P9////////////////////////////v7/C/2JjaP9PUFP/Q0RG/z09 + QP86Oz3/OTo8/zk6O/85Ojv/OTo8/zo7Pf89PkD/REVH/1FSVf9naG3/zs/R//////////////////// + ////////6en7/1lZ5f84OOD1ODjg/2ho5//z8/3///////////////////////////+4uLv/YGFl/05O + Uv9CQ0X/PD0//zo6PP85Ojz/OTo7/zk6O/85Ojz/Ojs9/z09QP9DREf/UFBU/2Vlav/IyMv///////// + ///////////////////o6Pv/WFjl/zc33/U2Nt//ZWXn//Pz/f///////////////////////////8LC + xf9jZGn/T1BT/0NER/89PkD/Ojs9/zk6PP85Ojv/OTo7/zk6PP86Oz3/Pj5A/0RFSP9RUlb/aWpu/9HS + 1P///////////////////////////+jo+/9VVeT/NDTf9TMz3/9jY+b/8/P9//////////////////// + ////////29vd/29wdf9UVVj/R0dK/z9AQv87PD7/Ojs9/zk6PP85Ojz/Ojs9/zw8P/9AQUP/SElM/1ZX + Wv94eX7/5+fo////////////////////////////6Oj7/1NT5P8xMd71Ly/e/2Bg5v/z8/3///////// + ///////////////////29vf/kpOX/1tcYf9NTlH/REVH/z8/Qv88PT//Ozw+/zs8Pv88PT//P0BC/0VF + SP9PUFP/Xl9j/6ChpP/7+/z////////////////////////////n5/v/T0/j/y4u3vUrK93/W1vl/+7u + /P/7+/7/+/v+//v7/v/7+/7//Pz+//39///Pz9P/cXJ3/1hZXP9MTVD/RUZJ/0FCRf9AQUP/QEFD/0JC + Rf9GR0n/Tk5S/1pbXv94eX7/29vf//39///7+/7/+/v+//v7/v/7+/7//Pz//+Pj+/9LS+P/Kird9Sgo + 3f88POD/bm7o/3l56v9/f+v/hYXs/4uL7f+Sku7/mJjv/5qa7f9/f7X/amtz/1tcX/9RUlX/TExP/0lK + Tf9JSk3/TE1Q/1JTVv9cXWD/bG14/4KDv/+bm+//lpbv/5CQ7f+Kiu3/hITs/3196v93d+r/aWnn/zY2 + 3/8nJ931JSXc/ysr3v8yMt//Ojrg/0ND4f9MTOP/VFTk/1xc5f9kZOb/bGzo/3R05/93d73/cHGE/2Vm + av9eX2H/Wlte/1pbXv9eX2L/Zmds/3Fyiv93d8T/cnLo/2pq6P9iYub/Wlrl/1JS5P9KSuL/QUHh/zg4 + 4P8wMN7/Kird/yMj3PYgINz/Jyfd/y8v3v83N9//Pz/h/0dH4v9OTuP/Vlbk/11d5f9kZOb/amro/29v + 6f9zdNn/dHW3/3NznP9xco//cXKQ/3Nznv90dbz/c3Pd/25u6f9oaOf/YmLm/1tb5f9UVOT/TU3j/0VF + 4v89PeD/NTXf/y0t3v8lJdz/Hh7b8hsb2+ohIdz/KCjd/zAw3v84ON//Pz/h/0ZG4v9NTeP/VFTk/1pa + 5f9fX+b/ZGTm/2ho6P9ra+n/bW3m/25u4/9ubuP/bW3n/2pq6f9nZ+j/Y2Pm/15e5f9YWOX/UlLk/0tL + 4/9EROH/PT3g/zY23/8uLt7/Jyfd/x8f3P8aGtvRGBjakRwc2/0iItz/KSnd/zAw3v83N9//Pj7g/0RE + 4f9KSuL/UFDj/1VV5P9ZWeX/XFzl/19f5v9hYeb/YmLm/2Ji5v9gYOb/Xl7m/1xc5f9YWOX/U1Pk/05O + 4/9JSeL/Q0Ph/zw84P81Nd//Li7e/ycn3f8hIdz/Ghrb+BcX2nQVFdoaGBjarBwc2/0iItz/KSnd/y8v + 3v81Nd//Ozvg/0BA4f9GRuL/Skri/05O4/9RUeT/VFTk/1VV5P9WVuT/Vlbk/1VV5P9TU+T/UFDj/01N + 4/9JSeL/RETh/z8/4f86OuD/NDTf/y0t3v8nJ93/ISHc/xsb2/oXF9qYFBTaDxcX2gAWFtoZGRnbih0d + 2+MiItz9KCjd/y4u3v8zM9//ODjg/z094P9BQeH/RETh/0dH4v9JSeL/S0vj/0xM4/9MTOP/S0vi/0lJ + 4v9HR+L/Q0Ph/0BA4f88POD/Nzff/zIy3/8sLN7/Jibd/yEh3PwcHNvcGBjaehQU2hEVFdoAgAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAEoAAAAMAAAAGAAAAABACAAAAAAAAAkAACdBAAAnQQAAAAAAAAAAAAAAAAAABIS2QASEtkCEhLZORIS + 2Z4SEtnhEhLZ+xIS2v8UFNr/Fhba/xgY3P8gIL3/Li54/zU2T/83OEX/NzhE/zc4Rf84OEX/ODhF/zg4 + Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zc4Rf83OET/NzhF/zQ1 + VP8rLIT/Hh7H/xgY3P8VFdr/ExPa/xIS2v8SEtn5EhLZ2BIS2YwSEtkpEhLZABIS2QAAAAAAEhLZABIS + 2QcSEtltEhLZ4xIS2f8SEtr/ExPa/xUV2v8YGNr/Ghrc/yMjtP80NVb/OTo6/zk6Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk6Ov85OTv/MTJk/yAgw/8ZGdz/Fxfa/xQU2v8SEtr/EhLZ/xIS2f4SEtnUEhLZUhIS + 2QISEtkAEhLZAhIS2XASEtn1EhLZ/xIS2v8UFNr/Fhba/xkZ2/8cHNz/IiLM/zM0Xv85Ojn/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zAwc/8fH9b/Gxvb/xgY2v8VFdr/ExPa/xIS + 2f8SEtn/EhLZ6RIS2VASEtkAEhLZQRIS2eUSEtn/EhLa/xQU2v8XF9r/Ghrb/x4e2/8hId7/Kyuj/zk5 + Pf85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zc4Rf8nKLn/ICDe/x0d + 2/8ZGdv/Fhba/xMT2v8SEtr/EhLZ/xIS2c4SEtkjEhLZqxIS2f8SEtr/FBTa/xgY2v8bG9v/Hx/c/yMj + 3P8mJt7/MTKI/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + PP8uLqL/JSXf/yEh3P8dHdv/Ghrb/xYW2v8TE9r/EhLa/xIS2fwSEtl+EhLZ7hIS2v8UFNr/GBja/xwc + 2/8fH9z/JCTc/ycn3f8rK9//NDSB/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/8yMpz/Kirg/yYm3f8iItz/Hh7b/xoa2/8XF9r/ExPa/xIS2v8SEtnHEhLa/xQU + 2v8YGNr/HBzb/yAg3P8kJNz/KCjd/y0t3v8xMd//NjeC/zk5Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/81NZz/Ly/h/ysr3f8nJ93/IyPc/x4e2/8aGtv/Fhba/xMT + 2v8SEtnpFBTa/xcX2v8bG9v/ICDc/yQk3P8pKd3/LS3e/zIy3/82NuD/OTqD/zo6Ov86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP85OZ3/NTXi/zAw3v8sLN7/Jyfd/yIi + 3P8eHtv/Ghrb/xYW2v8TE9rwFxfa/xsb2/8fH9z/JCTc/ygo3f8tLd7/MjLf/zc33/88POH/Pj6F/z09 + Pf89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09 + QP89PUD/PT1A/z09QP89PUD/PT1A/z09P/89PUD/PT1A/z09QP89PUD/PT0//z09P/89PZ//Ojri/zU1 + 3/8wMN7/Kyve/ycn3f8iItz/HR3b/xkZ2/8VFdrwGhrb/x4e2/8jI9z/KCjd/y0t3v8yMt//Nzff/zw8 + 4P9BQeL/QkKH/0BBQP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9CQqH/Pz/j/zo64P81Nd//MDDe/ysr3f8mJt3/ISHc/xwc2/8YGNvwHR3b/yEh3P8nJ93/LCze/zEx + 3v82Nt//PDzg/0FB4f9GRuP/RkaK/0NERP9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NERv9GRqP/RETk/z8/4f86OuD/NDTf/y8v3v8qKt3/JSXc/yAg3P8cHNvwICDc/yUl + 3f8qKt3/MDDe/zU13/87O+D/QEDh/0ZG4v9LS+T/SkqM/0ZHR/9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9KS6X/SUnl/0RE4f8+PuH/OTng/zMz3/8uLt7/KCjd/yMj + 3P8fH9zwIyPc/ygo3f8tLd7/MTHe/zc33/89PeD/Q0Ph/0hI4v9OTuT/TU6O/0lKS/9KSk3/SkpN/0pK + Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pK + Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9OTqf/TEzl/0ZG4v9BQeH/Ojrg/zU1 + 3/8vL97/Kyve/yYm3f8iItzwJibd/yoq3f9KSuL/lpbu/56e8P+goPD/o6Px/6am8f+qqvL/dXaW/0tM + Tv9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01NUP+EhbD/qqr0/6Wl + 8f+iovD/n5/w/52d8P+Nje3/PDzg/ykp3f8lJdzwKird/yws3v9lZef/9/f+//////////////////// + ////////nZ6f/01OUv9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP+6urv////////////////////////////m5vv/S0vj/ysr3f8nJ93wLCze/y8v3v9nZ+f/9/f+//// + ////////////////////////r6+x/1JSVv9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RX/1dYW//Kysv////////////////////////////m5vv/Tk7j/y4u3v8qKt3wLy/e/zIy + 3/9paef/9/f+////////////////////////////2dna/2JjZ/9VVlr/V1db/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1dXW/9WV1v/Vldb/1dXW/9XV1v/Vldb/1ZXW/9XV1v/Vldb/1ZX + W/9WV1v/Vldb/1dXW/9XV1v/VFVZ/3Fydf/r6+z////////////////////////////n5/v/UFDj/zEx + 3v8tLd7wMTHe/zU13/9sbOj/9/f+/////////////////////////////Pz8/6anqf9aW1//WFld/1pa + Xv9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1paXv9YWV3/YGFl/729v/////////////////////////////// + ///n5/v/U1Pk/zMz3/8vL97wNDTf/zc33/9tbej/9/f+//////////////////////////////////X1 + 9v+sra//bm5y/15fY/9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYv9dXmP/Xl9j/15fY/9dXmL/XV5i/15f + Y/9eX2P/XV5i/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/19gZP91dXn/vb6///v7+/////////////// + ///////////////////n5/v/VVXk/zU13/8xMd7wNjbf/zk54P9vb+j/9/f+//////////////////// + ///////////////////9/f3/5OTl/8bGyP+8vL7/vLy+/7y8vv+8vL7/vb6//7m6vP+nqKr/jo+T/3p7 + gP9wcXb/cXJ3/31+g/+Tk5f/q6yv/7u7vf+9vb//vLy+/7y8vv+8vL7/vL2//8rLzP/q6+v//v7+//// + ///////////////////////////////////o6Pv/V1fk/zg43/8zM9/wNzff/zs74P9xcej/9/f+//// + ///////////////////////////////////////////////////////////////////9/v7/4ODh/6qr + rv+EhYr/c3R5/2xtcv9qa3D/amtw/21uc/91dnv/iYqP/7S0uP/o6er///////////////////////// + ///////////////////////////////////////////////////o6Pv/WVnl/zo64P81Nd/wOTng/z09 + 4P9ycun/9/f+//////////////////////////////////////////////////////////////////T0 + 9f+2trn/e3yB/2dobf9hYmf/XV5i/1pbX/9ZWl7/WVpe/1tbYP9eX2P/YmNo/2lqb/+Cg4j/xMTH//n5 + +v/////////////////////////////////////////////////////////////////o6Pv/Wlrl/zs7 + 4P83N9/wOjrg/z4+4P9zc+n/9/f+//////////////////////////////////////////////////// + ////////8PDx/6Kipv9tbnP/YmNn/1pbX/9VVVn/UVFV/05PUv9NTlH/TU5R/05PU/9RUlX/VVZa/1xd + Yf9jZGn/cnN4/7Kztv/4+Pj///////////////////////////////////////////////////////// + ///o6Pv/W1vl/zw84P84ON/wOzvg/z8/4f90dOn/9/f+//////////////////////////////////// + ///////////////////39/f/paaq/2tscf9fYGX/Vldb/09QVP9LTE//SEhL/0ZGSf9FRkj/RUZI/0ZH + Sf9ISUz/S0xP/1FRVf9YWVz/YWJn/3Bxdv+4uLz//Pz8//////////////////////////////////// + ///////////////////p6fv/XFzl/z094P85OeDwPDzg/0BA4f90dOn/9/f+//////////////////// + ///////////////////////////////////AwMP/b3B2/2BhZf9VVlr/TU5R/0hJS/9ERUf/QUJF/0BB + Q/8/QEL/P0BD/0BBQ/9CQ0X/RUVI/0lJTP9PT1P/V1hc/2JjZ/93eH7/09TW//////////////////// + ///////////////////////////////////p6fv/XV3l/z4+4P85OeDwPDzg/0BA4f91den/9/f+//// + /////////////////////////////////////////////+np6v+EhYr/Y2Rp/1dYXP9OT1L/R0hL/0JD + Rv8/QEL/Pj5A/z09P/88PT//PD0//z09QP8+P0H/QEFD/0NERv9ISUz/T1BT/1laXv9lZmv/lJWa//X1 + 9f/////////////////////////////////////////////////p6fv/XV3l/z4+4f85OeDwPDzg/0BA + 4f91den/9/f+/////////////////////////////////////////////////7y8v/9rbHH/XF1h/1FR + Vf9ISUz/Q0NG/z9AQv89PT//Ozw+/zs7Pf86Oz3/Ojs9/zs7Pf87PD7/PT5A/0BAQ/9EREf/SktO/1NT + V/9fYGT/cnN4/9HR0//////////////////////////////////////////////////p6fv/XV3l/z4+ + 4f85OeDwPDzg/0BA4f90dOn/9/f+////////////////////////////////////////////9/f4/5SV + mf9kZWn/V1db/0xNUP9FRkj/QEFD/z09QP87PD7/Ojs9/zk6PP85Ojz/OTo8/zk6PP86Oz3/Ozw+/z0+ + QP9BQUT/RkdJ/05PUv9ZWl7/Z2ht/6mqrv/+/v7///////////////////////////////////////// + ///p6fv/XV3l/z4+4P85OeDwOzvg/z8/4f90dOn/9/f+//////////////////////////////////// + ////////6Ojq/35/hP9gYWX/U1RX/0lKTf9CQ0b/Pj9B/zw8Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6 + PP85Ojz/Ojs9/zw9P/8/QEL/RERH/0tMT/9VVlr/YmNo/46PlP/19fb///////////////////////// + ///////////////////p6fv/XFzl/z094P85OeDwOjrg/z4+4P9zc+n/9/f+//////////////////// + ////////////////////////29vd/3R1ev9eX2P/UVJV/0dIS/9BQkT/PT5A/zs7Pf86Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv8+PkH/QkNF/0lKTf9TVFf/YGFm/4GCh//s7O3///////// + ///////////////////////////////////o6Pv/W1vl/zw84P84ON/wOTng/z094P9ycun/9/f+//// + ////////////////////////////////////////1dbY/3Fyd/9dXmL/UFFU/0dISv9BQUT/PT1A/zs7 + Pf85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv89PkD/QkJF/0hJTP9SU1b/X2Bl/31+ + g//o6On////////////////////////////////////////////o6Pv/Wlrl/zs74P83N9/wODjf/zs7 + 4P9xcen/9/f+////////////////////////////////////////////2dnb/3N0ef9dXmP/UFFV/0dI + S/9BQkT/PT5A/zs7Pf86Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv8+PkH/QkNF/0lJ + TP9TU1f/YGFl/3+Ahf/q6+z////////////////////////////////////////////o6Pv/WVnl/zo6 + 4P81Nd/wNjbf/zk54P9vb+j/9/f+////////////////////////////////////////////5eXm/3t8 + gf9fYGX/UlNX/0lJTP9CQ0X/Pj9B/zs8Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojz/Ojs9/zw8 + Pv8/P0H/Q0RG/0pLTv9VVVn/YmNn/4qLkP/z8/T///////////////////////////////////////// + ///o6Pv/V1fk/zg44P80NN/wNDTf/zc33/9ubuj/9/f+//////////////////////////////////// + ////////9PT1/46Pk/9jZGj/Vlda/0tMT/9ERUj/P0BC/zw9P/87Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP86Oz3/Ozw+/z0+QP9AQUP/RUZJ/01OUf9YWV3/ZWZr/6Kjp//8/P3///////////////////////// + ///////////////////o6Pv/VVXk/zY23/8yMt/wMjLf/zU13/9sbOj/9/f+//////////////////// + /////////////////////////////7Kytv9pam//W1xg/09QVP9HSEv/QkNF/z4/Qf88PT//Ozw+/zo7 + Pf86Oz3/Ojs9/zo7Pf87PD7/PT0//z9AQv9DREb/SUpM/1FSVv9dXmL/bm90/8jIy/////////////// + ///////////////////////////////////n5/v/U1Pk/zQ03/8vL97wLy/e/zIy3/9qauf/9/f+//// + /////////////////////////////////////////////+Dg4v98fYL/YWJn/1ZWWv9MTVD/RkdJ/0JC + Rf8/P0L/PT5A/zw9P/88PD7/PDw+/zw9P/89PkD/P0BC/0JDRf9HSEv/Tk9S/1hYXP9kZWn/iouQ/+/v + 8P/////////////////////////////////////////////////n5/v/UVHj/zEx3v8tLd7wLS3e/y8v + 3v9oaOf/9/f+//////////////////////////////////////////////////39/f+ys7X/bG1x/15f + Y/9TVFj/TE1Q/0ZHSv9DREb/QEFE/z9AQv8/P0H/Pz9C/z9AQv9BQkT/Q0RH/0dIS/9NTlH/VVZa/2Bh + Zf9yc3f/xsfI///////////////////////////////////////////////////////n5/v/Tk7j/y4u + 3v8qKt3wKird/y0t3v9cXOX/0dH4/9nZ+f/a2vn/29v5/93d+v/e3vr/39/6/+Dg+v/h4fr/4uL6/+Xl + /P/U1ez/hoeX/2hpbv9dXmL/VFVZ/05OUv9JSk3/RkdK/0RFSP9DREf/Q0RH/0RFSP9GR0r/SktO/09P + U/9VVlr/X2Bk/2tscf+UlKj/3d30/+Tk+//i4vr/4eH6/+Dg+v/f3/r/3d36/9zc+f/b2/n/2tr5/9ra + +f/Dw/b/R0fi/yws3v8oKN3wJyfd/yws3v81Nd//RETh/0pK4v9QUOP/VVXk/1tb5f9gYOb/Zmbn/2tr + 6P9xcej/dnbp/3t76v+AgOz/fn7W/3Z3kf9qa2//X2Bl/1hYXP9SU1b/Tk9S/0xNUP9LTE//S0xP/0xN + UP9PUFP/U1RX/1laXv9hYmb/bW5y/3h5nf9+f9//fn7s/3l56v90dOn/b2/o/2pq5/9kZOf/X1/m/1lZ + 5f9TU+T/Tk7j/0hI4v9BQeH/MTHe/yoq3f8lJd3wJCTc/ykp3f8uLt7/MzPf/zk54P8/P+H/RUXi/0pK + 4v9QUOP/Vlbk/1tb5f9hYeb/Zmbn/2tr6P9wcOj/dXXq/3l52P93eJ3/b3B2/2Znav9fYGT/Wltf/1dY + XP9WV1r/Vldb/1hYXP9bXGD/YGFl/2dobP9xcnv/eHmp/3h43/9zc+r/bm7o/2lp5/9kZOf/X1/m/1pa + 5f9UVOT/Tk7j/0hI4v9DQ+H/PT3g/zc33/8xMd7/LCze/ycn3f8iItzwISHc/yUl3f8rK93/MDDe/zY2 + 3/87O+D/QUHh/0ZG4v9MTOP/UVHk/1dX5P9cXOX/YWHm/2Vl5/9qauf/bm7o/3Jy6v92duP/eHi9/3V2 + kf9wcXn/a2xv/2doa/9lZmn/ZWZq/2hpbP9rbXD/cXJ8/3Z3mP93eMb/dHTm/3Bw6f9sbOj/aGjn/2Nj + 5v9fX+b/Wlrl/1VV5P9PT+P/Skri/0RE4f8/P+H/OTng/zQ03/8uLt7/KSnd/yMj3P8fH9zwHh7b/yIi + 3P8nJ93/LCze/zIy3/83N9//PDzg/0JC4f9HR+L/TEzj/1FR4/9WVuT/Wlrl/19f5v9jY+b/Z2fn/2tr + 6P9ubun/cXHq/3R04P92dsn/dnex/3Z2oP91dpj/dXaZ/3Z3ov92d7X/dXbO/3Nz4/9wcOr/bW3o/2lp + 5/9lZef/YWHm/11d5f9ZWeX/VFTk/09P4/9KSuL/RUXi/z8/4f86OuD/NTXf/zAw3v8qKt3/JSXd/yAg + 3P8cHNvpGhrb7h4e2/8jI9z/KCjd/y0t3v8yMt//Nzff/z094P9BQeH/Rkbi/0tL4/9QUOP/VFTk/1hY + 5f9cXOX/YGDm/2Nj5v9mZuf/aWnn/2tr6P9tben/b2/p/3Bw5/9wcOX/cHDl/29v5/9ubun/bGzp/2pq + 6P9oaOf/ZWXn/2Ji5v9fX+b/W1vl/1dX5P9SUuT/Tk7j/0lJ4v9FReL/QEDh/zo64P81Nd//MDDe/ysr + 3v8mJt3/IiLc/x0d2/8ZGdvHGBjaqxsb2/8gINz/JCTc/ykp3f8uLt7/MzPf/zc33/88POD/QUHh/0VF + 4v9KSuL/Tk7j/1JS5P9WVuT/WVnl/1xc5f9fX+b/YmLm/2Rk5v9lZef/Zmbn/2dn5/9oaOf/aGjn/2dn + 5/9mZuf/ZWXn/2Nj5v9hYeb/Xl7m/1tb5f9YWOX/VFTk/1BQ4/9MTOP/SEji/0RE4f8/P+H/Ozvg/zY2 + 3/8xMd7/LCze/ycn3f8jI9z/Hh7b/xkZ2/wXF9p+FhbaQRgY2uUcHNv/ICDc/yUl3P8pKd3/Li7e/zIy + 3/83N9//Ozvg/z8/4f9EROH/SEji/0tL4/9PT+P/UlLk/1VV5P9YWOX/Wlrl/1xc5f9eXuX/X1/m/19f + 5v9gYOb/YGDm/19f5v9eXub/XV3l/1tb5f9ZWeX/V1fk/1RU5P9RUeP/Tk7j/0pK4v9GRuL/QkLh/z4+ + 4P86OuD/NTXf/zEx3v8sLN7/KCjd/yMj3P8fH9z/Ghrb/xcX2s4VFdojEhLZAhYW2nAYGNv1HBzb/yAg + 3P8lJdz/KSnd/y0t3v8xMd7/Njbf/zo64P89PeD/QUHh/0VF4v9ISOL/S0vj/05O4/9QUOP/U1Pk/1VV + 5P9WVuT/V1fk/1hY5f9YWOX/WFjl/1hY5f9XV+T/VVXk/1RU5P9SUuT/UFDj/01N4/9KSuL/R0fi/0RE + 4f9AQOH/PDzg/zg44P80NN//MDDe/ysr3v8nJ93/IyPc/x8f3P8aGtv/Fxfa6RUV2lAXF9oAFRXaABQU + 2gcWFtptGRnb4xwc2/8gINz/JCTc/ygo3f8sLN7/MDDe/zQ03/83N9//Ozvg/z4+4f9BQeH/RETh/0dH + 4v9JSeL/S0vj/01N4/9OTuP/T0/j/1BQ4/9QUOP/UFDj/1BQ4/9PT+P/Tk7j/0xM4/9LS+L/SEji/0ZG + 4v9DQ+H/QEDh/z094P86OuD/Njbf/zIy3/8uLt7/Kyvd/ycn3f8jI9z/Hh7b/xsb2/4XF9rUFRXaUhMT + 2gIUFNoAAAAAABYW2gAUFNoCFxfaORoa254cHNvhICDc+yQk3P8nJ93/Kyvd/y8v3v8yMt//NTXf/zk5 + 4P87O+D/Pj7g/0FB4f9DQ+H/RUXi/0ZG4v9ISOL/SUni/0lJ4v9KSuL/Skri/0lJ4v9ISOL/R0fi/0ZG + 4v9EROH/QkLh/0BA4f89PeD/Ozvg/zg43/80NN//MTHe/y0t3v8qKt3/Jibd/yIi3P8eHtv5Gxvb2BgY + 24wWFtopBgbYABQU2gAAAAAAwAAAAAAHAACAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACAAAAAAAEAAMAAAAAABwAAKAAAAEAAAACAAAAAAQAgAAAA + AAAAQAAAnQQAAJ0EAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkMEhLZThIS2aQSEtneEhLZ+BIS + 2f8SEtr/FBTa/xUV2v8XF9r/GRnc/x0dzf8oKJf/MTJk/zY2Tf83N0j/NzdI/zc4SP83OEj/NzhI/zc4 + SP83OEj/NzhI/zc4SP83OEj/NzhI/zc4SP83OEj/ODhI/zc4SP83OEj/NzhI/zc4SP83OEj/NzhI/zc4 + SP83OEj/NzhI/zc3SP83N0j/NzdI/zU2Uf8vMG//JSWm/xsb1f8YGNz/Fhba/xQU2v8TE9r/EhLa/xIS + 2f4SEtn0EhLZ0xIS2ZASEtk5EhLZBRIS2QAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkuEhLZphIS + 2fASEtn/EhLZ/xIS2v8TE9r/FRXa/xYW2v8YGNv/Ghrc/yEhvv8xMWj/ODk//zk6Ov85Ojr/OTo7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6O/85Ojr/OTo6/zc4Q/8tLX3/Hh7N/xkZ + 3P8XF9r/FRXa/xQU2v8SEtr/EhLZ/xIS2f8SEtn+EhLZ5RIS2YcSEtkZEhLZABIS2QAAAAAAEhLZABIS + 2QASEtlDEhLZ1RIS2f8SEtn/EhLZ/xIS2v8TE9r/FRXa/xcX2v8aGtv/HBzc/yIixP8zNFz/OTo5/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojv/OTo6/y8vdf8eHtP/Gxvc/xkZ2/8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2f8SEtn9EhLZtxIS + 2SQSEtkAEhLZABIS2QASEtkyEhLZ1xIS2f8SEtn/EhLZ/xMT2v8UFNr/Fhba/xkZ2/8bG9v/HR3c/yAg + 2f8vL3z/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OT7/Kiqc/x4e3f8cHNv/Ghrb/xgY2v8VFdr/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtmzEhLZFhIS2QASEtkQEhLZrhIS2f8SEtn/EhLZ/xMT2v8VFdr/Fxfa/xkZ + 2/8cHNv/Hh7b/yEh3v8nJ8H/NzdL/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zM0Y/8jI9P/ICDc/x0d + 2/8bG9v/GBjb/xYW2v8UFNr/EhLa/xIS2f8SEtn/EhLZ/RIS2X4SEtkBEhLZXhIS2fQSEtn/EhLa/xMT + 2v8VFdr/Fxfa/xoa2/8dHdv/Hx/c/yIi3P8lJd//LS2l/zk5Pf85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6 + Ov83OEr/KSnC/yMj3v8hIdz/Hh7b/xsb2/8ZGdv/Fhba/xQU2v8SEtr/EhLZ/xIS2f8SEtncEhLZLhIS + 2bgSEtn/EhLa/xMT2v8VFdr/GBja/xoa2/8dHdv/ICDc/yMj3P8mJt3/KSjg/zExmP85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/ODlE/y0tuP8nJ9//JCTc/yEh3P8fH9z/HBzb/xkZ2/8XF9r/FBTa/xIS + 2v8SEtn/EhLZ/BIS2XwSEtnxEhLZ/xMT2v8VFdr/GBja/xsb2/8eHtv/ISHc/yQk3P8nJ93/Kird/yws + 4P8zM5X/OTk6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zg5Q/8wMLb/Kyvg/ygo3f8lJd3/IiLc/x8f + 3P8cHNv/GRnb/xcX2v8UFNr/EhLa/xIS2f8SEtm8EhLZ/xMT2v8VFdr/GBja/xsb2/8eHtv/ISHc/yQk + 3P8nJ93/Kird/y0t3v8xMeH/NTaW/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OUP/MzO3/y8v + 4P8sLN7/KSnd/yYm3f8jI9z/Hx/c/xwc2/8ZGdv/Fhba/xQU2v8SEtr/EhLZ3hMT2v8VFdr/Fxfa/xoa + 2/8eHtv/ISHc/yQk3P8nJ93/Kyvd/y4u3v8xMd7/NTXh/zg4lv85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP85Ojv/OTo8/zk6O/85Ojv/OTo8/zk6 + PP85Ojv/OTo8/zk6PP85Ojv/OTo8/zk6PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTpD/zc3t/8zM+H/MDDe/y0t3v8pKd3/Jibd/yMj3P8fH9z/HBzb/xkZ2/8WFtr/ExPa/xIS + 2ukUFNr/Fxfa/xoa2/8dHdv/ISHc/yQk3P8nJ93/Kyvd/y4u3v8yMt//NTXf/zk54v87O5j/Ozs8/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Rf86Orj/Nzfi/zQ03/8wMN7/LS3e/ykp3f8mJt3/IiLc/x8f + 3P8cHNv/GBjb/xUV2v8TE9rqFhba/xkZ2/8dHdv/ICDc/yQk3P8nJ93/Kyvd/y4u3v8yMt//Njbf/zk5 + 4P89PeP/Pj+Z/z0+P/89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+P/89Pkf/Pj65/zs74v83N9//NDTf/zAw + 3v8tLd7/KSnd/yUl3f8iItz/Hh7b/xsb2/8YGNr/FRXa6hkZ2/8cHNv/Hx/c/yMj3P8nJ93/Kird/y4u + 3v8yMt//Njbf/zk54P89PeD/QUHj/0JCm/9AQEL/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/P0BD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBK/0FC + uv8/P+P/Ozvg/zg43/80NN//MDDe/yws3v8oKN3/JSXc/yEh3P8eHtv/Ghrb/xcX2uobG9v/Hh7b/yIi + 3P8mJt3/Kird/y4u3v8yMt//NTXf/zk54P89PeD/QUHh/0VF5P9FRZz/QkNE/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDTP9FRbv/Q0Pj/z8/4f87O+D/Nzff/zMz3/8vL97/LCze/ygo3f8kJNz/ICDc/x0d + 2/8aGtvqHh7b/yEh3P8lJdz/KSnd/yws3v8wMN7/NTXf/zk54P89PeD/QUHh/0VF4v9JSeT/SEmd/0RF + R/9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFR/9FRU//SUm9/0dH5P9DQ+H/Pz/h/zs74P83N9//MzPf/y8v + 3v8rK93/Jyfd/yMj3P8fH9z/HBzb6iAg3P8jI9z/Jyfd/yws3v8wMN7/NDTf/zg44P88POD/QEDh/0RE + 4f9ISOL/TU3l/0xMn/9HSEn/R0hK/0dISv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hR/0xMvv9LS+X/Rkbi/0JC + 4f8+PuD/Ojrg/zY23/8yMt//Li7e/ykp3f8mJt3/ISHc/x4e2+oiItz/Jibd/yoq3f8uLt7/MTHe/zU1 + 3/86OuD/Pj7g/0JC4f9HR+L/S0vi/09P5f9OT6D/SUpM/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpM/0pK + VP9PT7//TU3l/0lJ4v9EROL/QEDh/zw84P83N9//MzPf/y8v3v8sLN7/KCjd/yQk3P8hIdzqJSXc/ygo + 3f8sLN7/ODjg/01N4/9SUuT/Vlbk/1pa5f9eXuX/YWHm/2Vl5/9paen/XV6k/0tMT/9MTE//TExP/0xM + T/9MTFD/TExP/0xMUP9MTFD/TExP/0xMUP9MTFD/TExQ/0xMT/9MTFD/TExQ/0xMUP9MTFD/TExP/0xM + UP9MTFD/TExQ/0xMUP9MTFD/TExQ/0xMUP9MTFD/TExP/0xMT/9MTFD/TExQ/0xMT/9MTE//TExP/0xM + UP9MTE//TExQ/0xMT/9NTlb/Y2PC/2ho6f9jY+b/X1/m/1xc5f9YWOX/VFTk/1BQ4/9JSeL/MjLf/yoq + 3f8mJt3/IyPc6icn3f8rK93/LCze/2Zm5//h4fr/5+f7/+fn+//o6Pv/6Oj7/+np+//p6fz/7Oz+/6Sl + sP9NTlH/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OTlL/VVZa/8TE0v/s7P7/6en8/+jo+//o6Pv/5+f7/+fn + +//o6Pv/z8/3/0dH4v8rK97/KSnd/yUl3eopKd3/LS3e/y4u3v9wcOj/+vr+//////////////////// + //////////////////+0tLb/UFFU/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFU/1paXf/X19j///////// + /////////////////////////////+bm+/9NTeP/Li7e/ysr3f8nJ93qKyvd/y8v3v8xMd7/cXHp//r6 + /v//////////////////////////////////////w8PF/1VWWf9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1JT + Vv9jZGf/4uLj///////////////////////////////////////m5vv/T0/j/zAw3v8tLd7/KSnd6i0t + 3v8xMd7/MzPf/3Nz6f/6+v7//////////////////////////////////////+Li4/9mZ2r/VFVZ/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9TVFj/f4CD//b29v//////////////////////////////////////5ub7/1FR + 4/8yMt//Ly/e/ysr3eovL97/MzPf/zU13/90dOn/+vr+//////////////////////////////////// + ///8/Pz/m5ud/1ZXWv9YWFz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9XWFz/Wltf/7y8vv////////////////////////////// + /////////////+fn+/9SUuT/NDTf/zEx3v8tLd7qMTHe/zU13/83N9//dnbp//r6/v////////////// + /////////////////////////////+bm5/98fYD/WFld/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9ZWl7/WVpe/5WWmf/29vb///////// + ///////////////////////////////////n5/v/VFTk/zY23/8zM9//Ly/e6jIy3/83N9//OTng/3d3 + 6v/6+v7/////////////////////////////////////////////////4ODh/4mJjP9fX2T/Wltf/1pb + YP9bW2D/W1xg/1tbYP9bW2D/W1xg/1tbYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1xdYf9cXWH/XF1h/1xd + Yf9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1tg/1tcYP9bXGD/W1xg/1pbX/9aW1//Y2Ro/56e + of/v7/D/////////////////////////////////////////////////5+f7/1ZW5P84OOD/NDTf/zAw + 3uo0NN//ODjg/zs74P94eOr/+vr+//////////////////////////////////////////////////// + ///y8vP/wsLE/5aWmf+Cg4b/fn+C/35/gv9+f4L/fn+C/35/gv9+f4L/f3+D/4CAhP+AgIT/fHyA/3N0 + eP9rbHD/Zmds/2dobf9tbnL/dnZ6/31+gf+AgYT/f4CE/35/g/9+f4L/fn+C/35/g/9+f4L/fn+C/35/ + g/+Fhon/n5+i/9DQ0f/5+fn//////////////////////////////////////////////////////+fn + +/9XV+X/Ojrg/zY23/8yMt/qNTXf/zo64P88POD/eXnq//r6/v////////////////////////////// + ///////////////////////////////////8/Pz/9vb2//T09P/09PT/9PT0//T09P/09PX/9vb2//Hx + 8f/a2tz/t7e6/5iZnf+EhYr/eXqA/3V2e/91d3z/e3yC/4iJjv+foKT/wMDD/+Hi4//09PT/9fX1//T0 + 9P/09PT/9PT0//T09P/09PT/9/f3//7+/v////////////////////////////////////////////// + ///////////////////o6Pv/WVnl/zs74P83N9//MzPf6jc33/87O+D/Pj7g/3p66v/6+v7///////// + //////////////////////////////////////////////////////////////////////////////// + /////////f39/+Dg4v+qqq7/goOI/3Fyd/9rbHL/aWpv/2dobf9naGz/Z2hs/2hpbf9pam//bG1z/3R1 + ev+Jio//t7i7/+vr7P////////////////////////////////////////////////////////////// + ////////////////////////////////////////6Oj7/1pa5f88POD/OTng/zQ03+o4ON//PDzg/z8/ + 4f97e+r/+vr+//////////////////////////////////////////////////////////////////// + ////////////////////////9PT1/7m6vf+AgYf/bW5z/2dobf9jZGn/X2Bl/11eYv9bXGD/Wltf/1pb + X/9bXGD/XV5i/2BhZv9kZWr/aGlv/29wdv+LjJH/y8vO//r7+/////////////////////////////// + /////////////////////////////////////////////////////////////+jo+/9bW+X/Pj7g/zo6 + 4P81Nd/qOTng/z094P9AQOH/fHzq//r6/v////////////////////////////////////////////// + ////////////////////////////////////////7Ozt/6Chpf9yc3n/aGlu/2JjaP9dXWL/WFld/1VW + Wv9TVFf/UVJW/1FSVf9RUlX/UlJW/1NUWP9WV1r/WVpe/15fY/9kZWn/amtw/3h5f/+1tbn/9vb3//// + //////////////////////////////////////////////////////////////////////////////// + ///o6Pv/XFzl/z8/4f87O+D/Njbf6jo64P8+PuH/QUHh/3196v/6+v7///////////////////////// + ////////////////////////////////////////////////////////7Ozt/5manv9ub3X/Zmds/15f + ZP9YWV3/U1RY/1BRVP9NTlH/S0xP/0pLTv9JSk3/SUpN/0pLTv9MTE//Tk5S/1FRVf9VVVn/Wltf/2Bh + Zf9oaW7/c3R6/6+vs//39/j///////////////////////////////////////////////////////// + ////////////////////////6Oj7/11d5f9AQOH/PDzg/zc33+o6OuD/Pz/h/0FB4f99fer/+vr+//// + ////////////////////////////////////////////////////////////////////////9fX1/6Gi + pv9ub3X/ZWZr/11dYv9WV1r/UFFV/0xNUP9JSk3/R0hK/0VGSf9ERUj/REVH/0RFR/9ERUj/RkZJ/0dI + S/9KS07/TU5R/1JSVv9XWFz/X19k/2dobf90dXr/urq+//z8/f////////////////////////////// + /////////////////////////////////////////////+jo+/9dXeX/QEDh/zw84P84ON/qOjrg/z8/ + 4f9CQuH/fn7r//r6/v////////////////////////////////////////////////////////////// + /////////v7+/7u8v/9yc3n/Zmds/11dYv9VVlr/T1BT/0pLTv9HSEr/REVI/0JDRf9BQkT/QEFD/0BB + Q/9AQUP/QEFD/0FCRP9DQ0b/RUZI/0hIS/9LTE//UFFV/1dYW/9fYGT/aGlu/3x9gv/U1df///////// + ///////////////////////////////////////////////////////////////////o6Pv/Xl7m/0FB + 4f89PeD/ODjg6js74P9AQOH/QkLh/35+6//6+v7///////////////////////////////////////// + /////////////////////////////+Hi4/+Cg4j/aGlv/15fZP9WV1v/T1BT/0pLTv9GR0n/Q0NG/0FB + RP8/QEL/Pj9B/z0+QP89PkD/PT5A/z0+QP8+P0H/P0BC/0FCRP9DREf/R0dK/0tMT/9RUVX/WFld/2Fi + Zv9rbHH/lZab//Pz8/////////////////////////////////////////////////////////////// + ////////6Oj7/15e5v9BQeH/PT3g/zg44Oo7O+D/QEDh/0JC4f9+fuv/+vr+//////////////////// + //////////////////////////////////////////////39/f+srbH/bW50/2JjaP9YWV3/UVFV/0pL + Tv9GR0n/QkNG/0BAQ/8+P0H/PT0//zw9P/87PD7/Ozw+/zs8Pv87PD7/PD0//z0+QP8+P0H/QEFD/0NE + Rv9HSEr/TE1Q/1JTV/9bXGD/ZWZr/3R1ev/Iycv///////////////////////////////////////// + /////////////////////////////+jo+/9eXub/QUHh/z094P84OODqOzvg/0BA4f9CQuH/fn7r//r6 + /v/////////////////////////////////////////////////////////////////o6On/hISK/2hp + bv9dXmL/VFVY/0xNUP9HSEr/Q0NG/0BAQ/8+PkD/PD0//zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7 + Pf87PD7/PD0//z4/Qf9AQUT/REVH/0hJTP9OT1L/Vlda/2BhZf9qa3D/mZqf//f4+P////////////// + ///////////////////////////////////////////////////o6Pv/Xl7m/0FB4f89PeD/ODjg6js7 + 4P9AQOH/QkLh/35+6//6+v7///////////////////////////////////////////////////////// + ////////x8fK/3FzeP9kZGn/WVpd/1BRVP9JSk3/REVI/0FBRP8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs8Pv89PT//Pz9C/0FCRf9FRkn/S0xP/1JTVv9bXGD/Zmds/31+ + g//h4eL/////////////////////////////////////////////////////////////////6Oj7/15e + 5v9BQeH/PT3g/zg44Oo6OuD/Pz/h/0JC4f9+fuv/+vr+//////////////////////////////////// + /////////////////////////f39/6iprf9rbHL/YGFl/1VWWv9NTlH/R0hL/0JDRv8/QEL/PT1A/zs8 + Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozw+/z0+QP9AQUP/Q0RH/0hJ + TP9PUFP/WFld/2NkaP9xcnf/xcbI//////////////////////////////////////////////////// + /////////////+jo+/9eXuX/QEDh/zw84P84OODqOjrg/z8/4f9BQeH/fX3q//r6/v////////////// + //////////////////////////////////////////////b39/+TlJn/aWpv/11eYv9TVFj/S0xP/0ZG + Sf9BQkT/Pj9B/zw9P/87Oz3/Ojo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojs8/zs8 + Pv88PT//Pz9C/0JDRf9HSEr/TU5R/1ZWWv9gYWb/bG1y/6+vs/////////////////////////////// + ///////////////////////////////////o6Pv/XV3l/0BA4f88POD/Nzff6jk54P8+PuD/QEDh/3x8 + 6v/6+v7////////////////////////////////////////////////////////////v8PD/iImO/2do + bf9cXWH/UlNW/0pLTv9FRUj/QEFE/z0+QP87PD7/Ojs9/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo8/zo6PP86Oz3/PD0//z4/Qf9BQkT/RkdJ/0xNUP9UVVn/X19k/2prcP+hoab//Pz8//// + ////////////////////////////////////////////////////////6Oj7/1xc5f8/P+H/Ozvg/zc3 + 3+o4OOD/PT3g/z8/4f98fOr/+vr+//////////////////////////////////////////////////// + ////////6+zt/4SFiv9naGz/W1xg/1FSVv9KS03/REVH/0BBQ/89PkD/Ozw+/zo7Pf85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/Ojs9/zw8Pv8+P0H/QUJE/0VGSf9LTE//U1RY/15f + Y/9pam//m5yg//r6+v///////////////////////////////////////////////////////////+jo + +/9cXOX/Pj7h/zo64P82Nt/qNzff/zw84P8+PuH/e3vq//r6/v////////////////////////////// + /////////////////////////////+zt7v+Fhov/Z2ht/1tcYP9RUlb/SktO/0RFSP9AQUP/PT5A/zs8 + Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zo7Pf88PD7/Pj9B/0FC + RP9FRkn/TExP/1RUWP9eX2P/aWpw/5ydof/6+/v///////////////////////////////////////// + ///////////////////o6Pv/W1vl/z094P85OeD/NTXf6jY23/87O+D/PT3g/3p66v/6+v7///////// + ///////////////////////////////////////////////////y8vP/i4yR/2hpbv9cXWH/UlNX/0tL + Tv9FRkj/QUFE/z4+QP88PD7/Ojs9/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zo6 + PP87Oz3/PD0//z4/Qf9CQkX/RkdK/0xNUP9VVVn/X2Bk/2prcf+lpqr//f39//////////////////// + ////////////////////////////////////////6Oj7/1lZ5f88POD/ODjg/zQ03+o1Nd//OTng/zw8 + 4P95eer/+vr+////////////////////////////////////////////////////////////+fn6/5qb + n/9panD/Xl9j/1RVWP9MTVD/RkdK/0JCRf8+P0H/PD0//zs7Pf86Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo8/zk6PP86Oz3/Ozw+/z09P/8/QEL/Q0NG/0dIS/9OT1L/Vldb/2FiZ/9tbnT/tre6//// + /////////////////////////////////////////////////////////////+fn+/9YWOX/Ojrg/zc3 + 3/8yMt/qMzPf/zg43/86OuD/eHjq//r6/v////////////////////////////////////////////// + //////////////////+zs7f/bW5z/2FiZ/9XV1v/Tk9S/0hJS/9DREb/QEBD/z0+QP87PD7/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ozz/Ozs9/zw9P/8+PkH/QEFD/0RFSP9JSk3/UFFU/1la + Xv9kZWr/dHV7/8/Q0v////////////////////////////////////////////////////////////// + ///n5/v/V1fk/zk54P81Nd//MTHe6jEx3v82Nt//ODjg/3Z26f/6+v7///////////////////////// + ////////////////////////////////////////1NTW/3Z3ff9lZmv/Wltf/1FSVv9KS07/RUZJ/0FC + Rf8/P0L/PT0//zs8Pv86Oz3/Ojs9/zo6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs9/zw8Pv89PkD/P0BC/0JD + Rf9GR0r/TE1Q/1NUWP9dXmL/aGlu/4WGi//q6+z///////////////////////////////////////// + ////////////////////////5+f7/1VV5P83N9//NDTf/zAw3uowMN7/NDTf/zY23/91den/+vr+//// + //////////////////////////////////////////////////////////////Ly8/+QkZb/aWpw/19g + ZP9VVlr/Tk9S/0hJTP9ERUf/QUFE/z4/Qf89PUD/PDw+/zs8Pv87Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zw9 + P/89PkD/Pz9C/0FCRP9FRkj/SUpN/1BQVP9YWFz/YmNn/2xtc/+pqq7//P39//////////////////// + /////////////////////////////////////////////+fn+/9TU+T/NTXf/zIy3/8uLt7qLi7e/zIy + 3/80NN//dHTp//r6/v////////////////////////////////////////////////////////////// + ////////wcHE/3JzeP9lZmr/W1tg/1JTV/9MTVD/R0hL/0NER/9BQUT/Pz9C/z0+QP89PT//PD0//zw8 + P/88PD//PD0//z09QP8+PkH/P0BC/0FCRf9ERUj/SElM/01OUv9UVVn/XV5i/2dobf98fYL/29vd//// + ///////////////////////////////////////////////////////////////////m5vv/UlLk/zMz + 3/8wMN7/LCze6iws3v8wMN7/MjLf/3Jy6f/6+v7///////////////////////////////////////// + //////////////////////////////Dx8f+TlJn/a2xx/2FiZ/9YWV3/UVJV/0xMUP9HSEv/REVH/0JC + Rf9AQUP/P0BC/z4/Qf8+P0H/Pj9B/z4/Qf8/QEL/QEFE/0JDRv9FRkj/SElM/01OUf9TVFf/Wltf/2Rl + af9ub3X/q6yw//v7+/////////////////////////////////////////////////////////////// + ////////5ub7/1BQ4/8xMd7/Li7e/yoq3eoqKt3/Li7e/y8v3v9xcen/+vr+//////////////////// + ////////////////////////////////////////////////////////1tfY/3+AhP9pam//YGBl/1hZ + XP9RUlb/TE1Q/0lJTP9GR0n/REVH/0JDRv9CQkX/QUJE/0FCRP9CQkX/Q0NG/0RFSP9GR0r/SkpN/05O + Uv9TVFf/WVpe/2JjZ/9rbHH/j5CT/+rq6/////////////////////////////////////////////// + /////////////////////////////+bm+/9OTuP/Ly/e/yws3v8oKN3qKCjd/yws3v8vL97/UlLk/5mZ + 7/+envD/oKDw/6Ki8P+lpfH/p6fx/6mp8f+srPL/rq7y/7Cw8/+ysvP/tLTz/7a29P+4uPT/u7v0/7q6 + 8/+PkLz/c3R9/2lqbv9gYWX/WVpe/1NUWP9PUFP/S0xP/0lKTf9HSEv/RkdK/0ZGSf9GR0n/RkdK/0hI + S/9KSk3/TE1Q/1BRVP9UVVn/Wltf/2JjZ/9rbHD/dneG/5yd0P+8vPX/ubn0/7e39P+1tfP/s7Pz/7Gx + 8/+vr/L/ra3y/6qq8v+oqPH/pqbx/6Sk8f+hofD/n5/w/56e8P+Oju3/Pz/h/y0t3v8qKt3/Jibd6iYm + 3f8pKd3/Li7e/zEx3/80NN//OTng/z094P9CQuH/R0fi/0tL4/9PT+P/VFTk/1hY5f9dXeX/YWHm/2Vl + 5/9qauf/bW3o/3Fx6f91der/enrn/3t8tP90dX7/amtv/2JjaP9cXWH/V1db/1NUV/9QUVT/Tk9S/0xN + UP9MTVD/TE1Q/01OUf9OT1L/UFFV/1RUWP9YWV3/XV5i/2Rlav9tbnH/dneG/3t7xf94eOr/c3Pp/29v + 6P9sbOj/aGjn/2Nj5v9fX+b/W1vl/1ZW5P9SUuT/TU3j/0lJ4v9EROH/QEDh/zs74P83N9//MjLf/zAw + 3v8sLN7/Jyfd/yQk3OojI9z/Jyfd/yws3v8vL97/NDTf/zg44P88POD/QUHh/0VF4v9KSuL/Tk7j/1JS + 5P9WVuT/W1vl/19f5v9jY+b/Z2fn/2tr6P9ubuj/cnLp/3V16v94eef/enu8/3Z3hv9ub3P/Zmds/2Fi + Zv9cXWH/WVpd/1ZXW/9VVln/VFVZ/1RVWf9VVlr/V1hb/1laXv9dXmL/YmNn/2hpbf9wcXX/eHmR/3p6 + y/93d+r/dHTp/3Bw6P9sbOj/aWnn/2Vl5/9hYeb/XV3l/1lZ5f9VVeT/UFDj/0xM4/9HR+L/Q0Ph/z8/ + 4f86OuD/Njbf/zIy3/8tLd7/KSnd/yUl3f8iItzqISHc/yUl3P8pKd3/LS3e/zEx3v81Nd//OTng/z4+ + 4P9CQuH/Rkbi/0pK4v9PT+P/UlLk/1dX5P9aWuX/Xl7m/2Ji5v9mZuf/aWnn/21t6P9wcOj/c3Pp/3Z2 + 6f95edD/eHme/3R1ff9tbnL/aGlt/2Rlaf9hYmf/X2Bl/19fZP9fYGT/YGFl/2JjZ/9lZmr/aWpu/29w + dP91doP/eXqq/3h42v90dOr/cXHp/25u6P9ra+j/aGjn/2Rk5v9gYOb/XV3l/1lZ5f9VVeT/UVHj/01N + 4/9ISOL/RETh/0BA4f88POD/Nzff/zMz3/8vL97/Kyvd/ycn3f8jI9z/Hx/c6h8f3P8iItz/Jibd/yoq + 3f8uLt7/MjLf/zY23/86OuD/Pj7h/0ND4f9HR+L/S0vi/09P4/9TU+T/Vlbk/1pa5f9eXuX/YWHm/2Vl + 5/9oaOf/a2vo/25u6P9wcOn/c3Pq/3Z25P94eMb/eHmh/3Z3hv9yc3r/b3B0/21ucv9sbXH/bG1x/21v + cv9wcXX/c3R8/3Z3jP94ean/d3fQ/3R05/9ycur/b2/o/2xs6P9paef/Zmbn/2Nj5v9fX+b/XFzl/1hY + 5f9UVOT/UFDj/01N4/9JSeL/RUXi/0BA4f88POD/ODjg/zQ03/8wMN7/LCze/ygo3f8kJNz/ICDc/x0d + 2+kcHNv/ICDc/yMj3P8nJ93/Kyve/y8v3v8zM9//Nzff/zs74P8/P+H/Q0Ph/0dH4v9KSuL/Tk7j/1JS + 5P9WVuT/WVnl/1xc5f9gYOb/Y2Pm/2Zm5/9paef/a2vo/21t6P9vb+n/cXHq/3Nz5v91ddf/d3fD/3d4 + sf93eKX/d3ig/3d4of93eKj/d3i1/3Z3yP91ddz/cnLo/3Bw6v9ubuj/bGzo/2lp5/9nZ+f/ZGTn/2Fh + 5v9eXub/W1vl/1dX5P9UVOT/UFDj/0xM4/9JSeL/RUXi/0FB4f89PeD/OTng/zU13/8xMd7/LS3e/ykp + 3f8lJd3/IiLc/x4e2/8bG9veGhrb8R0d2/8hIdz/JCTc/ygo3f8sLN7/MDDe/zMz3/83N9//Ozvg/z8/ + 4f9DQ+H/Rkbi/0pK4v9NTeP/UVHj/1RU5P9YWOX/W1vl/15e5f9gYOb/Y2Pm/2Vl5/9oaOf/amrn/2xs + 6P9tbej/bm7p/29v6v9wcOn/cXHo/3Fx5/9xcef/cXHo/3Bw6v9vb+r/bm7p/2xs6P9ra+j/aWnn/2Zm + 5/9kZOf/YmLm/19f5v9cXOX/WVnl/1ZW5P9TU+T/T0/j/0xM4/9ISOL/RUXi/0FB4f89PeD/OTng/zU1 + 3/8yMt//Li7e/yoq3f8mJt3/IyPc/x8f3P8bG9v/GRnbvBgY27gbG9v/Hh7b/yIi3P8lJd3/KSnd/y0t + 3v8wMN7/NDTf/zg43/87O+D/Pz/h/0JC4f9GRuL/SUni/01N4/9QUOP/U1Pk/1ZW5P9ZWeX/W1vl/15e + 5f9gYOb/YmLm/2Rk5v9mZuf/Z2fn/2ho5/9paef/amrn/2tr6P9ra+j/a2vo/2pq6P9qauf/aWnn/2ho + 5/9mZuf/ZWXn/2Nj5v9hYeb/X1/m/1xc5f9aWuX/V1fk/1RU5P9RUeT/Tk7j/0tL4/9ISOL/RETh/0FB + 4f89PeD/OTng/zY23/8yMt//Li7e/ysr3f8nJ93/IyPc/yAg3P8cHNv/GRnb/BcX2nwXF9peGBja9Bsb + 2/8fH9z/IiLc/yYm3f8pKd3/LS3e/zAw3v80NN//Nzff/zs74P8+PuD/QUHh/0VF4v9ISOL/S0vj/05O + 4/9RUeP/U1Pk/1ZW5P9YWOX/Wlrl/11d5f9eXub/YGDm/2Fh5v9iYub/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl + 5/9kZOf/ZGTm/2Nj5v9iYub/YWHm/19f5v9dXeX/XFzl/1pa5f9XV+T/VVXk/1JS5P9PT+P/TU3j/0pK + 4v9GRuL/Q0Ph/0BA4f88POD/OTng/zY23/8yMt//Li7e/ysr3f8nJ93/JCTc/yAg3P8dHdv/Ghrb/xcX + 2twWFtouFRXaEBYW2q4ZGdv/HBzb/x8f3P8iItz/Jibd/ykp3f8sLN7/MDDe/zMz3/83N9//Ojrg/z09 + 4P9AQOH/Q0Ph/0ZG4v9JSeL/TEzj/09P4/9RUeP/U1Pk/1VV5P9XV+T/WVnl/1pa5f9cXOX/XV3l/15e + 5f9eXub/X1/m/19f5v9fX+b/X1/m/15e5v9dXeX/XFzl/1tb5f9aWuX/WFjl/1ZW5P9UVOT/UlLk/1BQ + 4/9NTeP/S0vi/0hI4v9FReL/QkLh/z8/4f88POD/ODjg/zU13/8yMt//Li7e/ysr3f8oKN3/JCTc/yEh + 3P8eHtv/Ghrb/xcX2v0VFdp+ERHZARYW2gAVFdoyFhba1xkZ2/8cHNv/Hx/c/yMj3P8mJt3/KSnd/yws + 3v8vL97/MzPf/zY23/85OeD/PDzg/z8/4f9CQuH/RETh/0dH4v9KSuL/TEzj/05O4/9QUOP/UlLk/1NT + 5P9VVeT/Vlbk/1dX5P9YWOX/WFjl/1lZ5f9ZWeX/WVnl/1lZ5f9YWOX/WFjl/1ZW5P9VVeT/VFTk/1JS + 5P9RUeP/T0/j/01N4/9LS+L/SEji/0ZG4v9DQ+H/QEDh/z4+4P87O+D/Nzff/zQ03/8xMd7/Li7e/yoq + 3f8nJ93/JCTc/yEh3P8eHtv/Ghrb/xgY2v8WFtqzFBTaFhUV2gATE9oAHR3bABUV2kMXF9rVGRnb/xwc + 2/8fH9z/IiLc/yUl3f8oKN3/LCze/y8v3v8yMt//NTXf/zc33/86OuD/PT3g/z8/4f9CQuH/RETh/0dH + 4v9JSeL/S0vi/0xM4/9OTuP/T0/j/1FR4/9RUeT/UlLk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/UlLk/1JS + 5P9RUeP/UFDj/09P4/9NTeP/TEzj/0pK4v9ISOL/Rkbi/0ND4f9BQeH/Pj7h/zw84P85OeD/Njbf/zMz + 3/8wMN7/LS3e/yoq3f8nJ93/JCTc/yEh3P8eHtv/Gxvb/xgY2v0WFtq3FRXaJBUV2gAVFdoAAAAAABQU + 2gAnJ90AFhbaLhcX2qYZGdvwHBzb/x8f3P8iItz/JSXc/ygo3f8rK93/LS3e/zAw3v8zM9//Njbf/zg4 + 4P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+L/SEji/0pK4v9LS+P/TEzj/0xM4/9NTeP/TU3j/01N + 4/9OTuP/TU3j/01N4/9MTOP/S0vj/0pK4v9JSeL/SEji/0ZG4v9EROH/QkLh/0FB4f8+PuH/PDzg/zo6 + 4P83N9//NDTf/zIy3/8vL97/LCze/ykp3f8mJt3/IyPc/yAg3P8dHdv/Gxvb/hgY2uUWFtqIFRXaGRUV + 2gAUFNoAAAAAAAAAAAAAAAAAExPaABgY2gAXF9oMGBjaTxoa26QcHNveHx/c+CEh3P8kJNz/Jyfd/yoq + 3f8tLd7/Ly/e/zIy3/80NN//Njbf/zk54P87O+D/PT3g/z8/4f9BQeH/QkLh/0RE4f9FReL/Rkbi/0dH + 4v9ISOL/SEji/0hI4v9JSeL/SUni/0hI4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9BQeH/QEDh/z4+ + 4P88POD/Ojrg/zg43/81Nd//MzPf/zAw3v8uLt7/Kyvd/ygo3f8mJt3/IyPc/yAg3P4dHdv0Gxvb0xkZ + 25AXF9o5FRXaBRYW2gAAAAAAAAAAAAAAAADwAAAAAAAAD+AAAAAAAAAHwAAAAAAAAAOAAAAAAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAcAAAAAAAAAD4AAAAAAAAAfwAAAAAAAADygA + AABgAAAAwAAAAAEAIAAAAAAAAJAAAJ0EAACdBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZAhIS2SASEtlhEhLZpBIS2dYSEtnwEhLZ/BIS2f8SEtr/EhLa/xMT2v8VFdr/Fhba/xcX + 2v8YGNr/GRnb/xoa2/8fH8f/Jyib/y8vc/8zNFv/NTZR/zU2UP82NlD/NjZQ/zY2UP82NlD/NjdQ/zY3 + UP82N1D/NjdQ/zY3UP82N1D/NjdQ/zc3UP83N1D/NzdQ/zc3UP83N1D/NzdQ/zc3UP83N1D/NzdQ/zc3 + UP83N1D/NzdQ/zc3UP83N1D/NjdQ/zY3UP82N1D/NjdQ/zY3UP82N1D/NjZQ/zY2UP82NlD/NjZQ/zY2 + UP81NlD/NTVT/zIyYv8sLYH/JCSt/xwc0v8ZGdz/GBjb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn+EhLZ+RIS2ekSEtnHEhLZjBIS2UcSEtkQEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkeEhLZeBIS2c4SEtn2EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ2/8aGtz/HR3T/ygomf8zNFr/ODlA/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTk6/zk5Ov85OTr/OTk6/zk5 + Ov85OTr/OTk6/zk5Ov85OTr/OTk6/zk5Ov85OTr/OTk6/zk5Ov85OTr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85OTv/NzdG/y8wbv8jI7P/Ghrb/xkZ + 2/8YGNr/Fxfa/xUV2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/hIS2ewSEtmzEhLZUhIS + 2QsSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZBBIS2U8SEtnJEhLZ/BIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8VFdr/Fhba/xcX2v8ZGdv/Ghrb/xsb3P8fH8v/Li55/zg5 + P/85Ojn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo7/zk6Of82Nkz/KCic/xwc2P8aGtv/GRnb/xgY2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ8hIS2Z8SEtknEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAABIS + 2QASEtkIEhLZcBIS2eoSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ + 2/8bG9v/HBzc/yAg0P8vMHP/OTo7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojr/NzhE/ygonP8dHdv/Gxvb/xoa + 2/8ZGdv/Fxfa/xYW2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnJEhLZOxIS + 2QASEtkAAAAAAAAAAAAAAAAAEhLZABIS2QUSEtlzEhLZ8hIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT + 2v8UFNr/Fhba/xcX2v8ZGdv/Ghrb/xwc2/8dHdv/Hx/b/ywtjP85OT3/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo6/zY2Tf8lJbb/HR3d/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ0xIS2TkSEtkAEhLZAAAAAAASEtkAEhLZABIS2VcSEtntEhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/FBTa/xUV2v8WFtr/GBja/xoa2/8bG9v/HR3b/x4e2/8gIN3/Jia9/zY3 + Tv85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Of8xMXP/ISHW/x8f3P8dHdv/HBzb/xoa + 2/8ZGdv/Fxfa/xUV2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2cMSEtkhEhLZABIS + 2QASEtkAEhLZJxIS2dESEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xcX2v8YGNv/Ghrb/xwc + 2/8dHdv/Hx/c/yEh3P8iItz/Li+J/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6 + Ov83OEf/Jyi4/yEh3v8fH9z/Hh7b/xwc2/8bG9v/GRnb/xcX2v8WFtr/FBTa/xMT2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtmTEhLZBxIS2QASEtkEEhLZihIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU + 2v8VFdr/Fxfa/xkZ2/8bG9v/HBzb/x4e2/8gINz/IiLc/yMj3f8mJtL/NDVi/zk6Of85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/Li6S/yMj3v8iItz/ICDc/x4e2/8dHdv/Gxvb/xkZ + 2/8YGNr/Fhba/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtnsEhLZQxIS2QASEtkxEhLZ3BIS + 2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xYW2v8YGNr/GRnb/xsb2/8dHdv/Hx/c/yAg3P8iItz/JCTc/yYm + 3v8qKsb/NzdP/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/MjJ4/yYm + 2/8lJd3/IyPc/yEh3P8fH9z/HR3b/xwc2/8aGtv/GBja/xYW2v8VFdr/ExPa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZnxIS2QgSEtl+EhLZ+xIS2f8SEtn/EhLa/xMT2v8UFNr/Fhba/xgY2v8ZGdv/Gxvb/x0d + 2/8fH9z/ISHc/yMj3P8lJd3/Jyfd/ygo3/8tLb3/ODhI/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojn/NDVs/ykp2P8nJ93/JSXd/yMj3P8hIdz/Hx/c/x4e2/8cHNv/Ghrb/xgY + 2v8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ3xIS2TESEtnGEhLZ/xIS2f8SEtr/ExPa/xQU + 2v8WFtr/GBja/xoa2/8cHNv/HR3b/x8f3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr4P8vMLn/ODlF/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/NTZn/yws1/8qKt7/KCjd/yYm + 3f8kJNz/IiLc/yAg3P8eHtv/HBzb/xoa2/8YGNv/Fxfa/xUV2v8TE9r/EhLa/xIS2f8SEtn/EhLZ+RIS + 2WwSEtnzEhLZ/xIS2v8TE9r/FBTa/xYW2v8YGNr/Ghrb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ygo + 3f8qKt3/LCze/y4u4P8xMrn/ODlF/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojn/Njdo/y4u1/8sLN7/Kird/ygo3f8mJt3/JCTc/yIi3P8gINz/Hh7b/xwc2/8aGtv/GBjb/xcX + 2v8VFdr/ExPa/xIS2v8SEtn/EhLZ/xIS2aESEtn/EhLa/xMT2v8UFNr/Fhba/xgY2v8aGtv/HBzb/x4e + 2/8gINz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw4P80NLn/ODlF/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/Nzdo/zEx1/8vL9//LS3e/ysr3f8pKd3/Jyfd/yQk + 3P8jI9z/ICDc/x4e2/8cHNv/Ghrb/xgY2v8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2cUSEtn/ExPa/xQU + 2v8WFtr/GBja/xkZ2/8cHNv/Hh7b/yAg3P8iItz/JCTc/yYm3f8oKN3/Kyvd/y0t3v8vL97/MTHe/zMz + 4f82Nrr/OTlG/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTn/ODho/zQ0 + 2P8yMt//MDDe/y0t3v8rK93/KSnd/ycn3f8lJdz/IyPc/yAg3P8eHtv/HBzb/xoa2/8YGNr/Fhba/xQU + 2v8TE9r/EhLa/xIS2dcSEtr/FBTa/xUV2v8XF9r/GRnb/xsb2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ykp + 3f8rK93/LS3e/y8v3v8xMd7/NDTf/zY24f84OLr/OTpG/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojn/OTlo/zY32P80NN//MjLf/zAw3v8uLt7/LCze/ykp3f8nJ93/JSXc/yMj + 3P8gINz/Hh7b/xwc2/8aGtv/GBja/xYW2v8UFNr/ExPa/xIS2twUFNr/FRXa/xcX2v8ZGdv/Gxvb/x0d + 2/8gINz/IiLc/yQk3P8mJt3/KSnd/ysr3f8tLd7/MDDe/zIy3/80NN//Njbf/zk54v86O7v/OjtH/zo7 + PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozv/Ojtp/zk52f83N+D/NTXf/zIy + 3/8wMN7/Li7e/yws3v8pKd3/Jyfd/yUl3P8iItz/ICDc/x4e2/8cHNv/Ghrb/xgY2v8VFdr/FBTa/xMT + 2t0VFdr/Fxfa/xkZ2/8bG9v/HR3b/x8f3P8iItz/JCTc/yYm3f8oKN3/Kyvd/y0t3v8wMN7/MjLf/zQ0 + 3/83N9//OTng/zs74v89Pbv/PD1J/zw9Pv88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PTz/PD1r/zw82f86OuD/Nzff/zU13/8yMt//MDDe/y4u3v8rK97/KSnd/ycn3f8kJNz/IiLc/yAg + 3P8eHtv/Gxvb/xkZ2/8XF9r/FRXa/xQU2twWFtr/GBja/xoa2/8dHdv/Hx/c/yEh3P8kJNz/Jibd/ygo + 3f8rK93/LS3e/zAw3v8yMt//NDTf/zc33/85OeD/PDzg/z4+4/9AQLz/Pj5K/z4+QP8+PkH/Pj5A/z0+ + QP8+PkD/PT5A/z4+QP89PkD/Pj5A/z4+QP8+PkD/Pj5A/z0+QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/Pj5B/z4+QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z0+QP89PkD/Pj5A/z0+QP89PkD/Pj5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z0+QP89Pj7/Pj9s/z4+2v88POH/Ojrg/zg43/81Nd//MzPf/zAw + 3v8uLt7/Kyve/ykp3f8mJt3/JCTc/yIi3P8fH9z/HR3b/xsb2/8ZGdv/Fxfa/xUV2twYGNr/Ghrb/xwc + 2/8eHtv/ISHc/yMj3P8mJt3/KCjd/yoq3f8tLd7/MDDe/zIy3/80NN//Nzff/zo64P88POD/Pj7h/0FB + 4/9CQr3/P0BM/z9AQf8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QED/QEFt/0FB + 2v8/P+H/PDzg/zo64P84ON//NTXf/zMz3/8wMN7/Li7e/ysr3f8pKd3/Jibd/yQk3P8hIdz/Hx/c/x0d + 2/8aGtv/GBja/xYW2twZGdv/Gxvb/x4e2/8gINz/IiLc/yUl3f8nJ93/Kird/y0t3v8vL97/MjLf/zU1 + 3/83N9//OTng/zw84P8+PuH/QUHh/0ND4/9ERb7/QUJO/0FBQ/9BQUT/QUJE/0FCRP9BQkT/QUFE/0FB + RP9BQkT/QUJE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FCRP9BQkT/QUFE/0FB + RP9BQkT/QUJE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQkT/QUFE/0FB + RP9BQkT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUJE/0FCRP9BQkT/QUFE/0FBRP9BQUT/QUFE/0FB + RP9BQUT/QUFE/0FBRP9BQUL/QkNv/0RE2/9CQuL/Pz/h/z094P86OuD/Nzff/zU13/8yMt//MDDe/y0t + 3v8rK93/KCjd/yYm3f8jI9z/ISHc/x4e2/8cHNv/Ghrb/xgY2twbG9v/HR3b/x8f3P8iItz/JSXc/ycn + 3f8pKd3/LCze/y8v3v8xMd7/NDTf/zc33/85OeD/PDzg/z8/4f9BQeH/Q0Ph/0ZG5P9HR77/Q0NP/0JD + Rf9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rf9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0P/RERw/0ZH2/9EROL/QkLh/z8/ + 4f88POD/Ojrg/zc33/81Nd//MjLf/y8v3v8tLd7/Kird/ygo3f8lJd3/IiLc/yAg3P8eHtv/HBzb/xoa + 29wcHNv/Hx/c/yEh3P8kJNz/Jibd/ykp3f8rK97/Li7e/zEx3v8zM9//Njbf/zk54P87O+D/Pj7h/0FB + 4f9EROH/Rkbi/0lJ5P9JSb//REVR/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUX/RkZy/0lJ3P9HR+L/RETh/0FB4f8/P+H/PDzg/zo64P83N9//NDTf/zIy3/8vL97/LCze/yoq + 3f8nJ93/JCTc/yIi3P8fH9z/HR3b/xsb29weHtv/ICDc/yMj3P8lJd3/KCjd/ysr3f8tLd7/MDDe/zMz + 3/81Nd//ODjg/zs74P8+PuD/QUHh/0ND4f9GRuL/SUni/0xM5f9MTMD/RkdT/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9FRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9FRkf/SEhz/0xM3P9JSeP/R0fi/0RE4f9BQeH/Pz/h/zs7 + 4P85OeD/Njbf/zQ03/8xMd7/Li7e/ysr3v8pKd3/Jibd/yQk3P8hIdz/Hh7b/xwc29wgINz/IiLc/yUl + 3P8nJ93/Kird/y0t3v8vL97/MjLf/zU13/84ON//Ozvg/z094P9AQOH/Q0Ph/0ZG4v9ISOL/S0vj/05O + 5f9OTsD/SElU/0dISv9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEn/Skp0/05O + 3f9MTOP/SUni/0ZG4v9EROH/QUHh/z4+4P87O+D/ODjg/zY23/8zM9//MDDe/y0t3v8rK93/KCjd/yYm + 3f8jI9z/ICDc/x4e29whIdz/IyPc/yYm3f8pKd3/LCze/y8v3v8xMd7/NDTf/zc33/86OuD/PT3g/z8/ + 4f9CQuH/RUXi/0hI4v9LS+L/Tk7j/1FR5f9RUcH/SkpW/0lKTP9JSk3/SUpN/0lKTP9JSkz/SUpM/0lK + TP9JSk3/SUpM/0lKTP9JSk3/SUpM/0lKTP9JSk3/SUpN/0lKTP9JSUz/SUpM/0lKTf9JSkz/SUpM/0lK + TP9JSkz/SUpM/0lJTP9JSkz/SUpM/0lKTf9JSkz/SUpM/0lKTP9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSkz/SUpM/0lKTf9JSk3/SUpN/0lKTP9JSkz/SUpN/0lKTf9JSkz/SUpN/0lK + TP9JSk3/SUpN/0lKTf9JSUr/TEx2/1FR3f9PT+T/TEzj/0lJ4v9GRuL/Q0Ph/0BA4f89PeD/Ojrg/zg4 + 3/81Nd//MjLf/y8v3v8sLN7/KSnd/ycn3f8kJNz/IiLc/yAg3NwjI9z/JSXd/ygo3f8qKt3/LS3e/zAw + 3v8xMd//NDTf/zc33/86OuD/PT3g/0BA4f9DQ+H/Rkbi/0lJ4v9LS+P/T0/j/1JS5v9SUsL/S0xY/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS0z/TU13/1JS3f9QUOT/TU3j/0pK + 4v9HR+L/RETh/0FB4f8+PuD/Ozvg/zg44P81Nd//MjLf/zAw3v8uLt7/Kyve/ykp3f8mJt3/IyPc/yEh + 3NwkJNz/Jyfd/ykp3f8sLN7/Ly/e/zw84P9PT+P/UVHk/1RU5P9WVuT/WVnl/1xc5f9eXub/YWHm/2Nj + 5v9mZuf/aGjn/2tr6v9mZsX/Tk9Z/0xNT/9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTE7/VVZ5/2pq4f9paej/Z2fn/2Rk5v9hYeb/X1/m/1xc5f9aWuX/V1fk/1VV5P9SUuT/UFDj/0lJ + 4v8zM9//LS3e/yoq3f8oKN3/JSXc/yMj3NwmJt3/KCjd/ysr3f8uLt7/Li7e/3l56v/k5Pv/5eX7/+Xl + +//m5vv/5ub7/+fn+//n5/v/5+f7/+jo+//o6Pv/6en7/+vr/v/GxtX/V1hc/01OUf9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05PUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk9S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk9S/05OUv9LTE//eHmA/+Li9P/p6fz/6Oj7/+jo+//n5/v/5+f7/+fn + +//m5vv/5ub7/+bm+//l5fv/5ub7/83N9/9ISOL/LS3e/yws3v8pKd3/Jibd/yQk3NwnJ93/Kird/y0t + 3v8wMN7/Ly/e/4WF7P/+/v////////////////////////////////////////////////////////// + ///X19j/Wlte/09PU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9NTlH/f4CC//j4 + 9////////////////////////////////////////////////////////////+Xl+/9NTeP/Li7e/y0t + 3v8rK93/KCjd/yUl3dwpKd3/Kyve/y4u3v8xMd7/MTHe/4WF7P/+/v////////////////////////// + ///////////////////////////////////b3Nz/Xl9i/1BRVP9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9OT1P/hYaI//n5+f////////////////////////////////////////////// + /////////////+Xl+/9PT+P/MDDe/y8v3v8sLN7/KSnd/yYm3dwqKt3/LS3e/zAw3v8zM9//MzPf/4aG + 7P/+/v/////////////////////////////////////////////////////////////l5eb/Z2hr/1FS + Vv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/U1NX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9TU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1NTV/9TU1f/UlNX/1NTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9TU1f/UlNX/1JTV/9TU1f/U1NX/1JTV/9SU1f/U1NX/1NTV/9QUVT/k5SW//39/f////////////// + /////////////////////////////////////////////+Xl+/9QUOP/MjLf/zAw3v8tLd7/Kird/ygo + 3dwrK97/Li7e/zEx3v80NN//NDTf/4eH7P/+/v////////////////////////////////////////// + ///////////////////09PT/fX6A/1JTVv9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVj/VFVZ/1RVWf9UVVn/VFVY/1RVWP9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVY/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVj/sLCy/////////////////////////////////////////////////////////////////+Xl + +/9RUeT/MzPf/zIy3/8vL97/LCze/ykp3dwtLd7/MDDe/zMz3/82Nt//Njbf/4iI7P/+/v////////// + ////////////////////////////////////////////////////////p6iq/1VVWf9WVlr/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/VlZa/1ZXWv9WVlr/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WVlr/Vlda/1ZWWv9WV1r/Vlda/1ZXWv9WV1r/VlZa/1ZWWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1VWWf9iY2f/2NjZ//////////////////////////////////// + /////////////////////////////+Xl+/9TU+T/NTXf/zMz3/8wMN7/LS3e/yoq3dwuLt7/MTHe/zQ0 + 3/83N9//Nzff/4mJ7P/+/v////////////////////////////////////////////////////////// + ////////3t7f/2trb/9WV1v/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1VWWv+RkZT/+Pj4//// + /////////////////////////////////////////////////////////////+bm+/9UVOT/Njbf/zU1 + 3/8xMd7/Li7e/yws3twvL97/MjLf/zU13/84OOD/ODjg/4qK7P/+/v////////////////////////// + /////////////////////////////////////////f39/6ysrv9aW1//WFld/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/V1hc/2tsb//Y2Nn///////////////////////////////////////////////////////// + /////////////+bm+/9VVeT/Nzff/zY23/8zM9//Ly/e/y0t3twwMN7/MzPf/zY23/85OeD/Ojrg/4qK + 7f/+/v////////////////////////////////////////////////////////////////////////Pz + 8/+UlJf/Wltf/1pbX/9bW1//W1tf/1pbX/9aW1//Wltf/1pbX/9bW1//Wltf/1tbX/9aW1//Wltf/1tb + X/9aW1//Wltf/1tbX/9bW1//W1tg/1tbYP9aW1//Wltf/1tbX/9aW1//W1tf/1tbYP9bW1//Wltf/1pb + X/9aW1//W1tf/1pbX/9bW1//W1tf/1tbX/9aW1//W1tf/1tbX/9bW1//Wltf/1pbX/9bW2D/W1tf/1pb + X/9aW1//W1tf/1tbX/9aW1//Wltf/1pbX/9ZWl7/ZGRo/76+wP/+/v7///////////////////////// + /////////////////////////////////////////////+bm+/9WVuT/OTng/zc33/80NN//MTHe/y4u + 3twxMd7/NDTf/zc33/87O+D/Ozvg/4uL7f/+/v////////////////////////////////////////// + ///////////////////////////////////t7e7/mpue/2BhZf9aW1//XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/W1xh/1pbX/9tbnL/vr7A//v7 + +////////////////////////////////////////////////////////////////////////////+bm + +/9XV+T/Ojrg/zg44P81Nd//MjLf/y8v3twyMt//NTXf/zk54P88POD/PDzg/4yM7f/+/v////////// + ////////////////////////////////////////////////////////////////////////9vb2/7u7 + vf98fID/YWJm/1xdYf9bXGH/W1xh/1tcYf9bXGH/W1xh/1tcYf9bXGH/XFxh/1tcYf9bXGH/W1xh/1tc + Yf9cXWH/W1xh/1tcYf9bXGH/XF1h/1xdYf9dXmL/XV5i/11eYv9dXmL/XV5i/11dYv9cXWH/XF1h/1xc + Yf9bXGH/W1xh/1tcYf9cXGH/W1xh/1tcYf9cXGH/W1xh/1tcYf9bXGH/W1xh/1tcYf9bXGH/W1xh/1tc + Yf9dXWL/Z2hs/4+Qk//W1tf//v7+//////////////////////////////////////////////////// + /////////////////////////////+bm+/9YWOX/Ozvg/zk54P82Nt//MzPf/zAw3twzM9//Njbf/zo6 + 4P89PeD/Pj7g/42N7f/+/v////////////////////////////////////////////////////////// + //////////////////////////////7+/v/s7e3/xsbI/6Ojpv+Oj5L/h4iL/4aHiv+Gh4r/hoeK/4aH + iv+Gh4r/hoeK/4aHiv+Gh4r/hoeK/4aHiv+Gh4r/h4iL/4iJjP+HiIv/goOG/3t7f/9yc3f/bG1y/2hp + bv9pam//bm9z/3V2ev9+foL/hIWI/4iIjP+IiIz/h4eL/4aHiv+Gh4r/hoeK/4aHiv+Gh4r/hoeK/4aH + iv+Gh4r/hoeK/4aHiv+Gh4r/iYmN/5SVmP+ur7H/1dbX//b29/////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9aWuX/PDzg/zo6 + 4P83N9//NDTf/zEx3tw0NN//Nzff/zs74P8+PuD/Pz/h/42N7f/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/5+fn/9/f3//b29//29vf/9vb3//b29//29vf/9vb3//b29//29vf/9/f3//j4+P/29vb/6Ojp/87O + 0f+ys7b/mpuf/4qLkP9/gYb/e3yB/3h5f/95eoD/fH2D/4OEif+PkJX/oqOn/729wP/Y2dr/7+/v//f3 + +P/39/j/9vf3//b29//29vf/9vb3//b29//29vf/9vb3//b29//29vf/9/f4//v7+/////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9aWuX/PT3g/zw84P84OOD/NTXf/zIy39w1Nd//ODjg/zw84P8/P+H/Pz/h/46O + 7f/+/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/+Li5P+2t7r/kZKX/3x9g/90dXv/cXJ4/29wdv9ub3X/bm90/25vdP9ub3T/bm90/29w + df9wcXb/cnN5/3Z3ff+Cg4n/np+j/8fHyv/v7/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9bW+X/Pj7g/zw84P85OeD/NTXf/zMz + 39w2Nt//OTng/z094P9AQOH/QUHh/4+P7f/+/v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////3+/v/j5OX/ra6y/4SFi/90dXv/b3B2/21uc/9qa3H/aGlu/2do + bP9lZmv/ZGVq/2Rlav9kZWr/ZWZq/2ZnbP9naG3/aWpv/2tscv9ub3T/cXJ3/3d5fv+Rkpf/wsPG//Ly + 8/////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9cXOX/Pz/h/z094P86OuD/Njbf/zMz39w3N9//Ojrg/z094P9BQeH/QUHh/4+P7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9fX1/8DAw/+IiY//c3R6/29w + df9rbHH/Z2ht/2Rlav9iY2f/YGFl/15fY/9dXmL/XF1h/1xdYf9cXWH/XF1i/11eY/9fYGT/YGFm/2Nk + aP9lZmv/aWpv/2xtc/9wcXb/d3l+/5qan//Y2Nr//f39//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9dXeX/QEDh/z4+4f87O+D/Nzff/zQ039w3N9//Ojrg/z4+ + 4P9BQeH/QkLh/4+P7f/+/v////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///o6On/pKWp/3h5f/9wcXb/a2xx/2dobf9jZGj/X2Bl/11eYv9aW1//WFld/1dYXP9WV1v/VVZa/1VW + Wv9VVlr/VlZa/1ZXW/9YWFz/WVpe/1tcYP9eX2P/YWJm/2Rlav9oaW7/bW5z/3FyeP+DhIn/v7/C//f3 + 9/////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9dXeX/QUHh/z8/ + 4f87O+D/ODjf/zU139w4ON//Ozvg/z4+4f9CQuH/Q0Ph/5CQ7f/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////9/f4f+TlJn/c3R6/25vdP9oaW7/Y2Rp/19gZP9cXGH/WVld/1ZX + W/9UVVj/UlNX/1FSVf9QUVT/T1BU/09QU/9PUFP/UFFU/1BRVf9RUlb/U1RX/1VWWf9XWFz/Wltf/11e + Yv9hYmb/ZWZr/2prcP9vcXb/eXqA/66vs//z8/P///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9eXub/QUHh/0BA4f88POD/ODjg/zY239w4OOD/PDzg/z8/4f9CQuH/Q0Ph/5CQ + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////3d3f/42Ok/9yc3n/bG1y/2Zn + bP9hYmb/XF1i/1laXf9VVlr/U1RX/1BRVf9PT1P/TU5R/0xNUP9LTE//S0tO/0pLTv9KS07/S0xP/0tM + T/9MTVD/Tk5S/09QU/9RUlX/VFVY/1dYW/9aW1//Xl9j/2NkaP9oaW7/bm91/3Z3ff+oqa3/8/Pz//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9eXub/QkLh/0BA4f88POD/OTng/zY2 + 39w5OeD/PDzg/z8/4f9DQ+H/RETh/5GR7v/+/v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///j4+X/kJGW/3FzeP9sbXL/ZWZr/2BhZf9bXGD/V1hb/1NUWP9QUVT/Tk9S/0xMUP9KS07/SUlM/0hI + S/9HSEr/R0dK/0ZHSv9GR0r/R0dK/0dIS/9ISUz/SUpN/0tLTv9MTVD/T09T/1FSVv9UVVn/WFld/11d + Yv9iY2f/aGht/25vdP92d33/rq+y//f39/////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9fX+b/QkLh/0FB4f89PeD/OTng/zc339w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////Dw8f+bnKH/cnR5/2xtcv9lZmv/X2Bk/1pbX/9VVlr/UlJW/09P + U/9MTVD/SkpN/0hJS/9GR0r/RUZJ/0RFSP9EREf/Q0RG/0NERv9DREb/Q0RH/0RER/9FRUj/RkZJ/0dH + Sv9ISUz/SktO/01OUf9QUFT/U1RX/1dYXP9cXWH/YWJn/2dobf9ub3X/eXqA/76/wv/9/f3///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9fX+b/Q0Ph/0FB4f89PeD/Ojrg/zc339w5OeD/PT3g/0BA + 4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+/v7/7Ozt/92d3z/bW5z/2Zn + a/9fYGT/Wltf/1VWWf9RUlX/TU5R/0tLTv9ISUz/RkdK/0VFSP9DREb/QkNF/0FCRf9BQkT/QEFE/0BB + Q/9AQUT/QUFE/0FCRP9CQkX/Q0NG/0RER/9FRkj/R0hK/0lKTf9LTE//T09T/1JTV/9XWFv/XF1h/2Jj + Z/9oaW7/b3B2/4KDif/X19n///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9gYOb/Q0Ph/0FB + 4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////1tbY/4CBhv9vcHX/Z2ht/2BhZv9aW1//VVZa/1FSVf9NTlH/SktO/0dIS/9FRkj/Q0RH/0JD + Rf9BQUT/QEBD/z9AQv8/P0L/Pj9B/z4/Qf8+P0H/Pz9C/z9AQv8/QEL/QEFD/0FCRP9CQ0b/REVH/0ZH + Sf9ISUz/S0xP/05PUv9SU1f/V1hc/1xdYv9jZGj/amtw/3FyeP+ZmZ7/8fHy//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9gYOb/Q0Ph/0FB4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR + 7v/+/v////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////09PX/m5yh/3FyeP9qa3D/YmNo/1xdYf9WV1v/UVJW/01O + Uf9KS03/R0hK/0VFSP9DQ0b/QUJE/0BAQ/8/P0L/Pj9B/z0+QP89PkD/PT1A/z09P/89PT//PT5A/z0+ + QP8+PkD/Pj9B/z9AQv9AQUP/QkJF/0NER/9FRkn/SElM/0tMT/9PT1P/U1RX/1hZXf9eX2P/ZWZr/21u + c/93eH7/wcHE//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9gYOb/RETh/0FB4f8+PuD/Ojrg/zc3 + 39w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////NzdD/enuB/21u + dP9lZmv/Xl9j/1hZXf9SU1f/Tk9S/0pLTv9HSEv/REVI/0JDRv9AQUT/P0BC/z4/Qf89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87PD7/PDw+/zw8P/88PT//PT1A/z0+QP8+P0H/QEBD/0FCRP9DREb/RUZJ/0hJ + TP9MTE//UFBU/1RVWf9aW1//YWJm/2hpbv9wcXb/j5CV/+3t7v////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9gYOb/RETh/0JC4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////b39/+dnqL/cXJ4/2lqb/9hYmf/Wltf/1RVWf9PUFT/S0xP/0hIS/9FRUj/QkNG/0BB + RP8/QEL/Pj5B/z09QP88PT//Ozw+/zs8Pv87Oz3/Ozs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/PDw+/zw9 + P/89PkD/Pj9B/z9AQv9BQkT/Q0RH/0ZHSf9JSk3/TU1R/1FSVv9XV1v/XV5i/2Rlav9sbXP/d3h+/8TF + yP////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9gYOb/RETh/0JC4f8+PuD/Ojrg/zg439w6OuD/PT3g/0FB + 4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////////////////////// + /////////////////////////////////////////////9zd3v+AgYb/bm90/2Vma/9eX2P/V1hc/1JS + Vv9NTlH/SUpN/0ZGSf9DREb/QUFE/z9AQv8+PkD/PT0//zw8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6 + PP86Ozz/Ojs9/zo7Pf86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/Qf9AQEP/QkJF/0RFR/9HSEr/SktO/09P + U/9UVFj/Wlpe/2BhZv9pam//cHF3/5ucof/29/f///////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9gYOb/RETh/0JC + 4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////// + /////////////////////////////////////////////////////////////////////////////7i5 + vP90dXr/a2xx/2JjaP9bXGD/VVVZ/09QU/9LTE//R0hL/0RFR/9BQkX/P0BC/z4+Qf89PT//PDw+/zs8 + Pv86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+ + QP8+P0H/QEFD/0JDRv9FRkj/SElM/0xNUP9RUlX/V1hc/15eY/9lZmv/bm90/4GCh//f3+H///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9gYOb/RETh/0FB4f8+PuD/Ojrg/zc339w6OuD/PT3g/0BA4f9EROH/RUXi/5GR + 7v/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////9/f3/5qboP9wcXb/aGlu/19gZf9YWV3/UlNX/01OUf9JSk3/RUZJ/0ND + Rv9AQUP/Pj9B/z0+QP88PD7/Ozw+/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87Oz3/Ozw+/zw9P/89PkD/P0BC/0FCRP9EREf/R0dK/0tLTv9PUFP/VVVZ/1tc + YP9jY2j/a2xx/3V2fP/Dw8b///////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9gYOb/Q0Ph/0FB4f8+PuD/Ojrg/zc3 + 39w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////6Ojp/4aHjP9ub3T/Zmdr/11e + Y/9WV1v/UVFV/0xNUP9ISEv/REVI/0JCRf8/QEL/Pj5B/zw9P/87PD7/Ojs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zw8Pv89PUD/Pj9B/0BB + Q/9CQ0b/RUZJ/0lKTf9NTlL/U1RX/1laXv9gYWb/aWpv/3FyeP+nqKz//Pz8//////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9fX+b/Q0Ph/0FB4f89PeD/Ojrg/zc339w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////19fZ/3t8gv9sbXP/ZGVp/1xdYf9VVlr/T1BT/0tLTv9HR0r/Q0RH/0FBRP8/P0L/PT5A/zw8 + P/87Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zs8Pv88PT//Pj5A/z9AQv9CQkX/REVI/0hJTP9MTVD/UVJW/1dYXP9fX2T/Z2ht/29w + dv+Vlpr/9PX1//////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9fX+b/Q0Ph/0BA4f89PeD/OTng/zY239w5OeD/PDzg/z8/ + 4f9DQ+H/RETh/5CQ7f/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////yMjL/3Z3ff9rbHH/YmNo/1pbX/9UVVj/Tk9S/0pK + Tf9GRkn/Q0NG/0BBQ/8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs8Pv88PD//PT5A/z8/Qv9BQkT/RERH/0dI + S/9LTE//UFFU/1ZXW/9dXmL/ZWZr/25vdf+IiY//6+vs//////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9eXub/QkLh/0BA + 4f88POD/OTng/zY239w4OOD/Ozvg/z8/4f9CQuH/Q0Ph/5CQ7f/+/v////////////////////////// + ////////////////////////////////////////////////////////////////////////vb3A/3N0 + ev9qa3D/YWJn/1pbX/9TVFj/Tk5S/0lKTf9FRkn/QkNF/0BAQ/8+PkH/PD0//zs8Pv86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojs9/zs7 + Pf88PD7/PT1A/z4/Qf9BQUT/Q0RH/0dHSv9LS07/UFBU/1VWWv9cXWH/ZGVq/21udP+Cg4j/5OTl//// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9eXub/QkLh/z8/4f88POD/OTng/zY239w3N9//Ojrg/z4+4P9BQeH/QkLh/5CQ + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////t7e7/3J0ef9qa3D/YWJm/1laXv9TU1f/TU5R/0lJTP9FRkj/QkNF/z9A + Q/8+PkD/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87PD7/PT0//z4/Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VW + Wf9cXWH/ZGVq/21uc/9/gIb/39/h//////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9eXuX/QUHh/z8/4f87O+D/ODjg/zU1 + 39w3N9//Ojrg/z094P9BQeH/QkLh/4+P7f/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////tba5/3Jzef9pam//YWJm/1la + Xv9TU1f/TU5R/0lJTP9FRkj/QkNF/z9AQv89PkD/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87PD7/PT0//z4/ + Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VWWf9cXWH/ZGVp/21uc/9+f4X/3d7f//////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9dXeX/QEDh/z4+4f87O+D/Nzff/zU139w2Nt//OTng/z094P9AQOH/QUHh/4+P7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////uru+/3N0ev9qa3D/YWJm/1laXv9TVFf/TU5R/0lKTP9FRkj/QkNF/0BAQ/8+PkH/PD0//zs8 + Pv86Oz3/Ojo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87PD7/PT1A/z4/Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VWWv9cXWH/ZGVq/21u + c/+AgYf/4uLj//////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9cXOX/QEDh/z094P86OuD/Nzff/zQ039w1Nd//ODjg/zw8 + 4P8/P+H/QEDh/46O7f/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////wsLF/3V2e/9rbHH/YmNn/1pbX/9TVFj/Tk9S/0lK + Tf9FRkn/QkNG/0BBQ/8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP86Ojz/Ojs9/zs7Pf88PD7/PT5A/z8/Qv9BQUT/Q0RH/0dI + Sv9LTE//UFFU/1ZXWv9dXmL/ZWZr/25vdP+Fhov/5+jp//////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9bW+X/Pz/h/z09 + 4P85OeD/Njbf/zMz39w1Nd//Nzff/zs74P8+PuH/Pz/h/46O7f/+/v////////////////////////// + ////////////////////////////////////////////////////////////////////////0NHT/3l6 + f/9sbXL/Y2Ro/1tcYP9UVVn/T1BT/0pLTv9GR0r/Q0RG/0BBRP8+P0H/PT1A/zw8Pv87Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP86Ojz/Ojs9/zs8 + Pv88PT//PT5A/z9AQv9BQkT/REVH/0hIS/9MTVD/UVJV/1dYXP9eX2P/Zmds/29wdf+PkJX/8fHy//// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9aWuX/Pj7g/zw84P84OOD/NTXf/zIy39wzM9//Njbf/zo64P89PeD/Pj7g/42N + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////4ODi/4CBh/9tbnT/ZWZq/11eYv9WV1r/UFFU/0tMT/9HSEv/REVH/0FC + RP8/QEL/PT5A/zw9P/87PD7/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo8/zk6PP86Ozz/Ojs9/zs8Pv88PT//Pj9B/0BAQ/9CQ0X/RUZI/0lJTP9NTlH/UlNW/1hZ + Xf9gYGX/aGlu/3Bxd/+en6P/+fn5//////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9aWuX/PT3g/zs74P84ON//NDTf/zEx + 3twzM9//NTXf/zk54P88POD/PT3g/4yM7f/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////8fHy/5CRlv9vcHb/Z2ht/19f + ZP9YWFz/UlJW/01NUf9ISUz/RUZI/0JDRf9AQUP/Pj9B/z09P/88PD7/Ozs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozw+/zw9P/89PkD/Pz9C/0FB + RP9DREb/RkdK/0pLTv9OT1L/VFVY/1pbX/9iYmf/amtw/3N0ev+2t7r///////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9ZWeX/Ozvg/zo64P83N9//MzPf/zEx3twxMd7/NDTf/zg43/87O+D/Ozvg/4uL7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz9/6qqrv9xcnj/aWpv/2FiZv9aW1//VFRY/05PUv9KS07/RkdK/0NER/9BQkT/P0BC/z0+ + QP88PT//Ozw+/zs7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7 + Pf87PD7/PDw+/z09P/8+P0H/QEBD/0JDRf9ERUj/SEhL/0xMT/9QUVT/Vlda/1xdYf9kZWr/bW5z/3p7 + gf/T09X///////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9YWOX/Ojrg/zk54P81Nd//MjLf/zAw3twwMN7/MzPf/zc3 + 3/86OuD/Ojrg/4uL7f/+/v////////////////////////////////////////////////////////// + /////////////////////////////////////////////83N0P95eoD/bG1z/2Rlav9cXWH/Vldb/1BR + Vf9MTVD/SElM/0VGSP9CQ0X/QEFD/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zs8Pv88PD7/PD0//z4+QP8/QEL/QUJE/0NERv9GR0n/SUpN/05O + Uv9TU1f/WFld/19gZP9naG3/b3B2/46PlP/u7u////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9WVuT/OTng/zc3 + 3/80NN//MTHe/y4u3twvL97/MjLf/zU13/85OeD/OTng/4qK7P/+/v////////////////////////// + /////////////////////////////////////////////////////////////////////////////+3t + 7v+NjpP/b3B2/2dobf9gYWX/WVpe/1NUWP9OT1L/SktO/0dISv9ERUf/QkJF/0BBQ/8+P0H/PT5A/zw9 + P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z8/ + Qv9AQUT/QkNG/0VGSP9ISUz/TExP/1BRVP9VVlr/W1xg/2JjaP9rbHH/c3R6/7Gytf/9/f3///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9VVeT/ODjg/zY23/8zM9//MDDe/y0t3twuLt7/MTHe/zQ03/83N9//Nzff/4mJ + 7P/+/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v+3uLv/dHV7/2ttcv9jZGn/XF1h/1ZXW/9RUlX/TU5R/0lK + Tf9GR0r/Q0RH/0FCRf9AQUP/Pj9B/z0+QP89PT//PD0//zw8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv88PD7/PD0//z0+QP8+PkH/P0BC/0BBQ/9CQ0X/REVI/0dIS/9KS07/Tk9S/1NUV/9YWV3/X2Bk/2Zn + bP9ub3X/gYKI/93d3/////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9UVOT/Njbf/zU13/8yMt//Li7e/yws + 3twtLd7/MDDe/zMz3/82Nt//Njbf/4iI7P/+/v////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5uf/iImP/29w + dv9oaW7/YGFm/1pbX/9UVVn/UFFU/0xNUP9ISUz/RkZJ/0NER/9CQkX/QEFD/z9AQv8+P0H/PT5A/z09 + QP88PT//PD0//zw9P/88PT//PD0//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QUFE/0JDRv9ERUj/R0dK/0pK + Tf9NTlH/UVJW/1ZXW/9cXWH/Y2Rp/2tscf9zdHn/qamt//r6+v////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Xl + +/9TU+T/NTXf/zMz3/8wMN7/LS3e/ysr3dwsLN7/Li7e/zEx3v81Nd//NDTf/4eH7P/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7/u7y//3Z3ff9tbnP/ZWZr/15fY/9YWV3/U1RY/09QU/9MTE//SUlM/0ZH + Sf9ERUf/QkNF/0FBRP9AQEP/P0BC/z4/Qf8+P0H/Pj5A/z0+QP8+PkD/Pj5B/z4/Qf8/P0H/P0BC/0BB + Q/9BQkT/Q0RG/0VFSP9HSEr/SkpN/01OUf9RUlX/VVZa/1pbX/9hYmb/aGlu/29wdv+Fhoz/3+Dh//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+Xl+/9SUuT/NDTf/zIy3/8vL97/LCze/ykp3dwqKt3/LS3e/zAw + 3v8zM9//MzPf/4aG7P/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8PDw/5eYnf9xcnj/amtx/2Nk + af9dXmL/WFlc/1NUV/9PUFP/TE1Q/0lKTf9HR0r/RUZI/0NER/9CQ0X/QUJE/0BBQ/9AQUP/QEBD/z9A + Qv8/QEL/QEBD/0BBQ/9BQUT/QUJF/0JDRv9EREf/RUZJ/0dIS/9KS07/TU5R/1FRVf9VVVn/Wlpe/19g + Zf9mZ2z/bW50/3d4fv+7u77//f39//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+Xl+/9QUOP/MjLf/zEx + 3v8uLt7/Kyvd/ygo3dwpKd3/Kyve/y8v3v8xMd7/MTHe/4aG7P/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9vb3P+Gh4v/cHF2/2lqb/9iY2j/XV1i/1hYXP9TVFj/UFFU/01OUf9KS07/SElM/0ZH + Sv9FRkj/RERH/0NERv9CQ0b/QkNF/0JCRf9CQkX/QkNF/0JDRv9DREb/REVI/0VGSf9HSEr/SUlM/0tM + T/9OT1L/UVJV/1VWWf9ZWl7/X2Bk/2Vmav9sbXL/c3R5/6Gipf/z8/P///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9PT+P/MDDe/y8v3v8tLd7/KSnd/ycn3dwoKN3/Kird/y0t3v8wMN7/MTHe/21t + 6P/ExPb/xcX2/8bG9v/Hx/b/yMj2/8nJ9v/Kyvf/y8v3/8zM9//Nzff/zs73/87O9//Pz/f/0ND4/9HR + +P/S0vj/09P4/9TU+P/U1Pj/1dX4/9bW+f/X1/n/2Nj5/9fX+P+kpcP/d3mC/3Bxdv9pam//YmNo/11e + Yv9YWV3/VFVZ/1FSVf9OT1L/TE1Q/0pLTv9ISUz/R0hL/0ZHSv9FRkn/RUZI/0VGSP9FRkj/RUZJ/0ZG + Sf9GR0r/SEhL/0lKTf9LS07/TU1R/09QU/9SU1f/Vlda/1pbX/9fYGT/ZWZq/2tscf9ydHj/gIGT/76+ + 4P/Z2fr/19f5/9bW+f/V1fj/1dX4/9TU+P/T0/j/0tL4/9HR+P/Q0Pj/z8/3/8/P9//Ozvf/zc33/8zM + 9//Ly/f/ysr3/8nJ9v/IyPb/x8f2/8fH9v/Gxvb/xsb2/7Gx8/9GRuL/Ly/e/y4u3v8rK93/KCjd/yUl + 3dwmJt3/KCjd/yws3v8uLt7/MTHe/zY23/89PeD/QEDh/0ND4f9GRuL/SUni/0tL4/9PT+P/UVHk/1VV + 5P9XV+X/Wlrl/11d5f9gYOb/Y2Pm/2Zm5/9paef/a2vo/25u6P9xcen/c3Pp/3Z26f95eer/e3vq/35+ + 6/9/f+j/fX20/3d4gP9wcXb/aWpv/2Nkaf9eX2P/Wltf/1ZXW/9TVFf/UFFV/05PUv9MTVD/S0xP/0pL + Tv9JSk3/SUlM/0hJTP9JSUz/SUpN/0lKTf9KS07/TExP/01OUf9PUFP/UVJW/1RVWf9XWFz/W1xg/2Bh + Zf9lZmv/a2xy/3N0eP96e47/fX7O/35+6/98fOr/eXnq/3d36f90dOn/cnLp/29v6P9sbOj/aWnn/2dn + 5/9kZOb/YWHm/15e5v9bW+X/WFjl/1VV5P9SUuT/T0/j/0xM4/9JSeL/Rkbi/0RE4f9BQeH/Pj7g/zo6 + 4P8zM9//Ly/e/yws3v8pKd3/Jibd/yQk3NwkJNz/Jyfd/yoq3f8tLd7/MDDe/zIy3/81Nd//ODjg/zs7 + 4P8+PuD/QUHh/0RE4f9HR+L/Skri/01N4/9QUOP/U1Pk/1ZW5P9ZWeX/XFzl/15e5v9hYeb/ZGTn/2dn + 5/9qauf/bGzo/29v6P9xcen/dHTp/3Z26f95eer/e3vl/3x9tP94eYL/cXJ2/2prcf9lZmv/YGFm/1xd + Yf9ZWl7/Vlda/1NUWP9RUlb/UFFU/09QU/9OT1L/TU5R/01OUf9NTlH/TU5R/05PUv9PUFP/UFFV/1JT + V/9UVVn/V1hc/1pbX/9eX2P/YmNn/2dobf9tbnP/c3R5/3p7kP98fMz/eXnq/3d36v90dOn/cnLp/3Bw + 6P9tbej/amro/2ho5/9lZef/YmLm/19f5v9dXeX/Wlrl/1dX5P9UVOT/UVHj/05O4/9LS+L/SEji/0VF + 4v9CQuH/Pz/h/zw84P85OeD/Njbf/zMz3/8wMN7/LS3e/ysr3f8oKN3/JSXd/yMj3NwjI9z/Jibd/ygo + 3f8rK97/Li7e/zAw3v80NN//Njbf/zo64P88POD/Pz/h/0JC4f9FReL/SEji/0tL4/9OTuP/UFDj/1NT + 5P9WVuT/WVnl/1xc5f9fX+b/YmLm/2Rk5/9nZ+f/amrn/2xs6P9vb+j/cXHp/3Nz6f92dun/eHjq/3p6 + 5/97fLz/eXqJ/3N0eP9tbnP/aGlu/2Nkaf9fYGX/XF1h/1paXv9XWFz/Vlda/1RVWf9TVFj/U1RX/1JT + V/9SU1f/U1RX/1RVWP9VVln/Vldb/1hZXf9aW1//XV5j/2FiZv9lZmv/amtw/29wdf91dnz/enuY/3t7 + 0f94eOr/dnbp/3R06f9xcen/b2/o/21t6P9qauf/aGjn/2Vl5/9iYub/YGDm/11d5f9aWuX/V1fl/1VV + 5P9RUeT/Tk7j/0xM4/9JSeL/Rkbi/0ND4f9AQOH/PT3g/zo64P83N9//NDTf/zIy3/8vL97/LCze/ykp + 3f8mJt3/JCTc/yEh3NwiItz/JCTc/ycn3f8pKd3/LCze/y8v3v8yMt//NTXf/zc33/86OuD/PT3g/0BA + 4f9DQ+H/Rkbi/0lJ4v9LS+P/Tk7j/1FR4/9UVOT/V1fk/1lZ5f9cXOX/X1/m/2Fh5v9kZOb/Zmbn/2lp + 5/9ra+j/bm7o/3Bw6P9ycun/dHTp/3Z26v94eOn/e3vM/3p7mP92d33/cHF2/2tscv9naG3/ZGVp/2Fi + Zv9eX2T/XF1h/1tcYP9aW1//WVpe/1laXv9ZWl7/WVpe/1pbX/9bXGD/XV5i/19gZP9iY2f/ZWZr/2lq + b/9tbnP/cnN4/3h5g/97e6r/eXnc/3d36v91den/cnLp/3Bw6P9ubuj/bGzo/2lp5/9nZ+f/ZWXn/2Ji + 5v9gYOb/XV3l/1pa5f9XV+T/VVXk/1JS5P9PT+P/TEzj/0lJ4v9GRuL/RETh/0FB4f8+PuD/Ozvg/zg4 + 4P82Nt//MjLf/zAw3v8tLd7/Kird/ycn3f8lJdz/IiLc/yAg3NwgINz/IiLc/yUl3f8oKN3/Kird/y0t + 3v8wMN7/MzPf/zY23/84OOD/Ozvg/z4+4P9BQeH/RETh/0ZG4v9JSeL/TEzj/09P4/9RUeP/VFTk/1dX + 5P9ZWeX/XFzl/15e5v9hYeb/Y2Pm/2Zm5/9oaOf/amrn/2xs6P9ubuj/cHDo/3Nz6f90dOn/dnbq/3h5 + 3f96e7T/eXqM/3V2e/9wcXb/bW5z/2lqb/9mZ2z/ZGVq/2NkaP9iYmf/YWJm/2BhZv9gYWb/YWJm/2Jj + Z/9jZGn/ZWZr/2dobf9qa3D/bm90/3Jzd/93eH//enuY/3p6xv93d+X/dXXq/3Nz6f9xcen/b2/o/21t + 6P9ra+j/aWnn/2Zm5/9kZOb/YmLm/19f5v9cXOX/Wlrl/1dX5P9UVOT/UlLk/1BQ4/9NTeP/Skri/0dH + 4v9EROH/QUHh/z8/4f88POD/OTng/zY23/80NN//MTHe/y4u3v8rK93/KCjd/yYm3f8jI9z/ICDc/x4e + 290fH9z/ISHc/yMj3P8mJt3/KSnd/ysr3v8uLt7/MTHe/zMz3/82Nt//OTng/zw84P8+PuH/QUHh/0RE + 4f9HR+L/SUni/0xM4/9PT+P/UVHk/1RU5P9WVuT/WVnl/1tb5f9eXub/YGDm/2Ji5v9lZef/Z2fn/2lp + 5/9ra+j/bW3o/29v6P9xcen/c3Pp/3R06v92duj/eHjV/3p6sP95eo//d3h//3N0eP9wcXb/bm90/2xt + cv9qa3H/amtw/2lqb/9pam//amtw/2tscf9sbnP/b3B0/3Fydv90dnr/eHmD/3p6mf95eb//d3ff/3R0 + 6v9zc+n/cXHp/29v6P9ubuj/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/Xl7m/1xc5f9aWuX/V1fk/1RU + 5P9SUuT/T0/j/01N4/9KSuL/SEji/0VF4v9CQuH/Pz/h/zw84P86OuD/Nzff/zQ03/8xMd7/Ly/e/yws + 3v8pKd3/Jibd/yQk3P8hIdz/Hx/c/x0d29wdHdv/Hx/c/yIi3P8kJNz/Jyfd/yoq3f8sLN7/Ly/e/zEx + 3v80NN//Nzff/zo64P88POD/Pz/h/0FB4f9EROH/R0fi/0lJ4v9MTOP/T0/j/1FR5P9UVOT/Vlbk/1hY + 5f9bW+X/XV3l/19f5v9iYub/Y2Pm/2Zm5/9oaOf/amrn/2xs6P9tbej/b2/o/3Bx6P9ycun/c3Pq/3V1 + 6P93d9v/eXnB/3l6pf95epH/eHmE/3Z3fv91dnv/dHV5/3R1ef90dXn/dHV6/3V3fP93eID/eHmI/3l6 + mP95eq//eHjM/3V14f90dOr/cnLp/3Fx6f9vb+j/bm7o/2xs6P9qauf/aGjn/2Zm5/9kZOb/YmLm/2Bg + 5v9eXuX/W1vl/1lZ5f9XV+T/VFTk/1JS5P9PT+P/TU3j/0pK4v9HR+L/RUXi/0JC4f8/P+H/PT3g/zo6 + 4P83N9//NTXf/zIy3/8vL97/LS3e/yoq3f8nJ93/JSXd/yIi3P8gINz/HR3b/xsb29cbG9v/Hh7b/yAg + 3P8iItz/JSXd/ycn3f8qKt3/LS3e/y8v3v8yMt//NDTf/zc33/86OuD/PDzg/z8/4f9CQuH/RETh/0dH + 4v9JSeL/TEzj/05O4/9RUeP/U1Pk/1VV5P9YWOX/Wlrl/1xc5f9eXub/YGDm/2Ji5v9kZOf/Zmbn/2ho + 5/9qauf/a2vo/2xs6P9ubuj/cHDo/3Fx6f9ycur/cnLq/3R05v91dd3/dnfQ/3h4w/94ebf/eXmx/3l5 + rf95ea7/eHmz/3h5u/93d8j/dnbV/3R04f9zc+j/cnLq/3Fx6f9wcOj/bm7o/21t6P9sbOj/amrn/2ho + 5/9mZuf/ZWXn/2Nj5v9hYeb/X1/m/11d5f9aWuX/WFjl/1ZW5P9UVOT/UVHk/09P4/9MTOP/Skri/0dH + 4v9FReL/QkLh/z8/4f89PeD/Ozvg/zg43/81Nd//MzPf/zAw3v8tLd7/Kyvd/ygo3f8lJd3/IyPc/yEh + 3P8eHtv/HBzb/xoa28UaGtvzHBzb/x4e2/8hIdz/IyPc/yUl3f8oKN3/Kyvd/y0t3v8wMN7/MjLf/zU1 + 3/83N9//Ojrg/z094P8/P+H/QUHh/0RE4f9HR+L/SUni/0tL4/9OTuP/UFDj/1JS5P9VVeT/V1fk/1lZ + 5f9bW+X/XV3l/19f5v9hYeb/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9qauf/bGzo/21t6P9ubuj/b2/o/29v + 6P9wcOn/cXHq/3Fx6v9xcer/cnLp/3Jy6f9ycun/cXHp/3Fx6v9xcer/cHDq/29v6f9vb+j/bm7o/21t + 6P9sbOj/amrn/2lp5/9oaOf/Zmbn/2Vl5/9jY+b/YWHm/19f5v9eXuX/XFzl/1lZ5f9XV+T/VVXk/1NT + 5P9RUeP/Tk7j/0xM4/9KSuL/R0fi/0VF4v9CQuH/QEDh/z094P86OuD/ODjg/zU13/8zM9//MDDe/y4u + 3v8rK93/KSnd/yYm3f8kJNz/ISHc/x8f3P8cHNv/Ghrb/xgY26EYGNvGGhrb/x0d2/8fH9z/ISHc/yQk + 3P8mJt3/KCjd/ysr3f8uLt7/MDDe/zMz3/81Nd//ODjf/zo64P88POD/Pz/h/0FB4f9EROH/Rkbi/0lJ + 4v9LS+P/TU3j/09P4/9SUuT/VFTk/1ZW5P9YWOX/WVnl/1xc5f9dXeX/X1/m/2Fh5v9iYub/ZGTm/2Vl + 5/9mZuf/aGjn/2lp5/9qauf/a2vo/2tr6P9sbOj/bW3o/21t6P9tbej/bm7o/21t6P9ubuj/bm7o/21t + 6P9tbej/bGzo/2xs6P9ra+j/amrn/2lp5/9oaOf/Z2fn/2Zm5/9kZOf/YmLm/2Fh5v9fX+b/Xl7l/1xc + 5f9aWuX/WFjl/1ZW5P9UVOT/UlLk/1BQ4/9OTuP/TEzj/0lJ4v9HR+L/RETh/0JC4f9AQOH/PT3g/zs7 + 4P84OOD/NTXf/zMz3/8xMd7/Li7e/yws3v8pKd3/Jyfd/yUl3P8iItz/ICDc/x0d2/8aGtv/GBjb+RcX + 2mwXF9p+GRnb+xsb2/8dHdv/Hx/c/yIi3P8kJNz/Jibd/ykp3f8rK97/Li7e/zAw3v8zM9//NTXf/zc3 + 3/86OuD/PDzg/z8/4f9BQeH/Q0Ph/0ZG4v9ISOL/Skri/0xM4/9PT+P/UVHj/1JS5P9UVOT/Vlbk/1hY + 5f9aWuX/W1vl/11d5f9fX+b/YGDm/2Fh5v9jY+b/ZGTm/2Vl5/9mZuf/Z2fn/2dn5/9oaOf/aWnn/2lp + 5/9qauf/amrn/2pq5/9qauf/aWnn/2lp5/9paef/aWnn/2ho5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Ji + 5v9gYOb/X1/m/11d5f9cXOX/Wlrl/1lZ5f9XV+T/VVXk/1NT5P9RUeP/T0/j/01N4/9LS+L/SUni/0ZG + 4v9EROH/QkLh/0BA4f89PeD/Ozvg/zg44P82Nt//MzPf/zEx3v8uLt7/LCze/yoq3f8nJ93/JSXc/yIi + 3P8gINz/Hh7b/xsb2/8ZGdv/Fxfa3xYW2jEWFtoxFxfa3BkZ2/8bG9v/Hh7b/yAg3P8iItz/JCTc/ycn + 3f8pKd3/LCze/y4u3v8wMN7/MzPf/zU13/83N9//Ojrg/zw84P8+PuD/QUHh/0ND4f9FReL/R0fi/0lJ + 4v9LS+P/TU3j/09P4/9RUeT/U1Pk/1VV5P9WVuT/WFjl/1pa5f9bW+X/XFzl/15e5v9fX+b/YGDm/2Fh + 5v9iYub/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl5/9lZef/ZWXn/2Zm5/9mZuf/Zmbn/2Vl5/9lZef/ZGTn/2Rk + 5v9jY+b/Y2Pm/2Fh5v9gYOb/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/V1fk/1VV5P9UVOT/UlLk/1BQ + 4/9OTuP/TEzj/0pK4v9ISOL/Rkbi/0ND4f9BQeH/Pz/h/z094P86OuD/ODjg/zY23/8zM9//MTHe/y4u + 3v8sLN7/Kird/ycn3f8lJd3/IyPc/yAg3P8eHtv/HBzb/xoa2/8XF9r/FhbanxYW2ggUFNoEFhbaihcX + 2v8aGtv/HBzb/x4e2/8gINz/IiLc/yUl3P8nJ93/KSnd/ysr3v8uLt7/MDDe/zIy3/81Nd//Nzff/zk5 + 4P88POD/Pj7g/0BA4f9CQuH/RETh/0ZG4v9ISOL/Skri/0xM4/9OTuP/UFDj/1FR5P9TU+T/VVXk/1ZW + 5P9XV+X/WVnl/1pa5f9bW+X/XV3l/11d5f9eXub/X1/m/2Bg5v9gYOb/YWHm/2Fh5v9hYeb/YWHm/2Ji + 5v9iYub/YmLm/2Fh5v9hYeb/YWHm/2Bg5v9fX+b/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/WFjl/1ZW + 5P9VVeT/VFTk/1JS5P9QUOP/Tk7j/01N4/9LS+L/SUni/0dH4v9FReL/QkLh/0BA4f8+PuH/PDzg/zo6 + 4P83N9//NTXf/zMz3/8xMd7/Li7e/yws3v8qKt3/Jyfd/yUl3f8jI9z/ISHc/x4e2/8cHNv/Ghrb/xgY + 2v8WFtrsFRXaQxUV2gAVFdoAFRXaJxYW2tEYGNr/Ghrb/xwc2/8eHtv/ICDc/yIi3P8lJdz/Jyfd/ykp + 3f8rK97/Li7e/zAw3v8yMt//NDTf/zc33/85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9FReL/R0fi/0lJ + 4v9KSuL/TEzj/05O4/9QUOP/UVHk/1NT5P9UVOT/VVXk/1ZW5P9XV+X/WFjl/1pa5f9bW+X/W1vl/1xc + 5f9cXOX/XV3l/11d5f9eXuX/Xl7m/15e5v9eXub/Xl7m/15e5f9dXeX/XV3l/1xc5f9bW+X/W1vl/1pa + 5f9ZWeX/WFjl/1dX5P9WVuT/VFTk/1NT5P9RUeT/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/Rkbi/0ND + 4f9CQuH/QEDh/z4+4P87O+D/OTng/zc33/81Nd//MzPf/zAw3v8uLt7/LCze/yoq3f8oKN3/JSXd/yMj + 3P8hIdz/Hx/c/x0d2/8aGtv/GBjb/xYW2v8VFdqTFBTaBxQU2gAVFdoAFxfaABUV2lcWFtrtGBja/xoa + 2/8cHNv/Hh7b/yAg3P8jI9z/JSXc/ycn3f8pKd3/Kyve/y4u3v8vL97/MjLf/zQ03/82Nt//ODjg/zo6 + 4P88POD/Pj7g/0BA4f9CQuH/RETh/0ZG4v9HR+L/SUni/0tL4/9MTOP/Tk7j/09P4/9QUOP/UlLk/1NT + 5P9UVOT/VVXk/1ZW5P9XV+T/V1fk/1hY5f9ZWeX/WVnl/1pa5f9aWuX/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9ZWeX/WVnl/1hY5f9YWOX/V1fk/1ZW5P9VVeT/VFTk/1NT5P9SUuT/UVHj/09P4/9OTuP/TU3j/0tL + 4/9JSeL/SEji/0ZG4v9FReL/QkLh/0BA4f8/P+H/PT3g/zs74P84OOD/Njbf/zQ03/8yMt//MDDe/y4u + 3v8sLN7/Kird/ygo3f8lJd3/IyPc/yEh3P8fH9z/HR3b/xoa2/8ZGdv/Fxfa/xUV2sMUFNohFRXaABQU + 2gAAAAAAFBTaABMT2gUVFdp0Fhba8hgY2v8aGtv/HBzb/x4e2/8gINz/IiLc/yQk3P8nJ93/KSnd/ysr + 3f8tLd7/Ly/e/zEx3v8zM9//NTXf/zc33/85OeD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH + 4v9JSeL/Skri/0xM4/9NTeP/Tk7j/09P4/9QUOP/UVHk/1JS5P9TU+T/VFTk/1RU5P9VVeT/VVXk/1VV + 5P9WVuT/Vlbk/1ZW5P9WVuT/Vlbk/1ZW5P9VVeT/VVXk/1VV5P9UVOT/U1Pk/1JS5P9SUuT/UVHj/1BQ + 4/9OTuP/TU3j/0xM4/9KSuL/SUni/0hI4v9GRuL/RETi/0ND4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg4 + 4P82Nt//NDTf/zIy3/8wMN7/Li7e/ysr3v8pKd3/Jyfd/yUl3f8jI9z/ISHc/x8f3P8dHdv/Gxvb/xgY + 2/8XF9r/FRXa0xUV2jkWFtoAExPaAAAAAAAAAAAAAAAAABUV2gAVFdoIFRXacBYW2uoYGNv/Ghrb/xwc + 2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjg/zo6 + 4P88POD/PT3g/z8/4f9BQeH/QkLh/0RE4f9GRuL/R0fi/0hI4v9JSeL/S0vi/0xM4/9NTeP/Tk7j/09P + 4/9PT+P/UFDj/1BQ4/9RUeP/UVHk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UVHj/1FR + 4/9QUOP/T0/j/09P4/9OTuP/TU3j/0xM4/9LS+P/Skri/0hI4v9HR+L/Rkbi/0VF4v9DQ+H/QUHh/z8/ + 4f8+PuD/PDzg/zo64P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj + 3P8hIdz/Hx/c/x0d2/8bG9v/GRnb/xcX2v8VFdrJFRXaOxIS2gAVFdoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAVFdoAFBTaBBYW2k8XF9rJGBjb/Boa2/8cHNv/Hh7b/yAg3P8iItz/JCTc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zEx3v8zM9//NTXf/zc33/85OeD/Ojrg/zw84P8+PuD/Pz/h/0BA4f9CQuH/Q0Ph/0VF + 4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4/9MTOP/TEzj/01N4/9NTeP/Tk7j/05O4/9OTuP/Tk7j/05O + 4/9OTuP/T0/j/05O4/9OTuP/TU3j/01N4/9NTeP/TEzj/0tL4/9KSuL/SUni/0hI4v9HR+L/Rkbi/0VF + 4v9EROH/QkLh/0FB4f9AQOH/Pj7g/zw84P87O+D/OTng/zc33/82Nt//NDTf/zIy3/8wMN7/Li7e/yws + 3v8qKt3/KSnd/ycn3f8kJNz/IiLc/yAg3P8eHtv/HR3b/xsb2/8ZGdv/Fxfa8hYW2p8VFdonFhbaABQU + 2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhbaAAAAwwAXF9oeFxfaeBkZ284aGtv2HBzb/x4e + 2/8gINz/ISHc/yMj3P8lJd3/Jyfd/ykp3f8rK93/LS3e/y8v3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk5 + 4P86OuD/PDzg/z094P8/P+H/QEDh/0FB4f9CQuH/RETh/0RE4f9FReL/Rkbi/0dH4v9ISOL/SEji/0lJ + 4v9KSuL/Skri/0pK4v9LS+L/S0vj/0tL4v9LS+P/S0vi/0pK4v9KSuL/Skri/0lJ4v9JSeL/SEji/0dH + 4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ozvg/zk54P84OOD/Njbf/zQ0 + 3/8zM9//MTHe/y8v3v8tLd7/Kyve/ykp3f8oKN3/Jibd/yQk3P8iItz/ICDc/x4e2/8cHNv/Ghrb/hkZ + 2+wXF9qzFhbaUhUV2gsWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAXF9oAFxfaAhgY2iAZGdthGhrbpRwc29YeHtvxHx/c/CEh3P8jI9z/JSXd/ycn3f8pKd3/Kird/yws + 3v8uLt7/MDDe/zEx3v8zM9//NDTf/zY23/83N9//OTng/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/Q0Ph/0RE4f9EROL/RUXi/0ZG4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0dH4v9ISOL/SEji/0dH + 4v9HR+L/Rkbi/0ZG4v9FReL/RUXi/0RE4f9DQ+H/Q0Ph/0JC4f9AQOH/QEDh/z4+4f89PeD/PDzg/zs7 + 4P86OuD/ODjg/zc33/81Nd//MzPf/zEx3v8wMN7/Ly/e/y0t3v8rK93/KSnd/ycn3f8lJd3/JCTc/yIi + 3P8gINz/Hh7b+Rwc2+kbG9vHGhrbjRgY2kcXF9oQHBzbABMT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+AAAAAAAAAAAAAP/8AAAAAAAAAAAAAD/wAAAAAAAAAAAAAB/gAAAAAAAAAAAAAA/AAAAAAAAAAAAA + AAfAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAHAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAA/wAAAAAAAAAAAAAB/8AAAAAAAAAAAA + AD/+AAAAAAAAAAAAAP8oAAAAgAAAAAABAAABACAAAAAAAAAAAQCdBAAAnQQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkJEhLZLhIS2WYSEtmgEhLZzBIS + 2egSEtn2EhLZ/hIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa + 3P8bG9r/Hx/H/yYmpP8sLYL/MTFq/zM0Xf80NFn/NDVZ/zQ1Wf80NVn/NTVZ/zU1Wf81NVn/NTVZ/zU2 + Wv81Nlr/NTZa/zU2Wv81Nlr/NTZa/zU2Wv81Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2 + Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zU2Wv81Nlr/NTZa/zU2 + Wv81Nlr/NTZa/zU2Wv81Nlr/NTVZ/zU1Wf81NVn/NDVZ/zQ1Wf80NVn/NDVZ/zQ0Wf80NFv/MjNi/y8v + dP8pKpL/IiK3/x0d0/8aGt3/GRnb/xgY2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2foSEtnwEhLZ3BIS2bkSEtmDEhLZSRIS2RcSEtkCEhLZAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS + 2QASEtkNEhLZSBIS2ZsSEtnYEhLZ9RIS2f4SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU + 2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9v/ICDD/yoqjP8zNFv/NzhE/zk5PP85Ojv/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojv/OTk7/zg5P/82Nk3/Ly9x/yQlqf8cHNT/Ghrc/xkZ + 2/8YGNv/Fxfa/xYW2v8VFdr/FBTa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fsSEtnqEhLZvRIS2XISEtkkEhLZAhIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkFEhLZPBIS2aUSEtnsEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9z/HBzX/yYn + ov80NFn/OTk8/zk6Of85Ojv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk6Ov85Ojn/NzhF/y0uev8gIMX/Gxvc/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xQU + 2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ+hIS2dASEtlvEhLZFxIS + 2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkAEhLZERIS + 2XQSEtngEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xcX + 2v8YGNr/GRnb/xoa2/8bG9v/HBzc/x4e0/8qK47/NzdH/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojr/OTk7/zIy + ZP8jI7j/HBzc/xsb2/8ZGdv/GRnb/xgY2v8XF9r/FRXa/xUV2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fcSEtmyEhLZNxIS2QESEtkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2RwSEtmaEhLZ9RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtr/EhLa/xMT2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ2/8bG9v/HBzb/xwc3P8eHtf/KyyM/zg4 + Qf85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zM0XP8iIr3/HBzd/xsb2/8aGtv/Ghrb/xgY + 2/8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtnWEhLZUxIS2QQSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkeEhLZqBIS + 2fsSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FBTa/xYW2v8XF9r/Fxfa/xkZ + 2/8aGtv/Gxvb/xwc2/8dHdz/Hx/b/ykpoP83OEb/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo6/zEyav8hIcv/HR3c/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtniEhLZWxIS2QMSEtkAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZFRIS2Z8SEtn8EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2/8ZGdv/Gxvb/xwc2/8dHdv/Hh7b/x8f3f8kJMP/NTVX/zk6 + Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODk9/ywsjv8fH9v/Hh7c/x0d + 2/8cHNv/Gxvb/xkZ2/8YGNv/Fxfa/xYW2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtngEhLZThIS2QASEtkAAAAAAAAAAAAAAAAAEhLZABIS2QYSEtl/EhLZ+BIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8VFdr/Fxfa/xgY2v8ZGdv/Ghrb/xsb + 2/8cHNv/HR3b/x8f3P8gINz/ISHa/y4uiP85OTz/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojr/NTZT/yUlwP8gIN3/Hx/c/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX + 2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnPEhLZLxIS + 2QASEtkAAAAAABIS2QASEtkAEhLZSxIS2ecSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT + 2v8UFNr/Fhba/xcX2v8YGNr/GRnb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ISHc/yIi3f8mJsb/NTZW/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTz/LS2P/yIi + 3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8ZGdv/GBja/xcX2v8WFtr/FBTa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtmjEhLZDxIS2QAAAAAAEhLZABIS2RcSEtm3EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FBTa/xYW2v8XF9r/GBjb/xoa2/8bG9v/HBzb/x0d + 2/8fH9z/ICDc/yEh3P8iItz/JCTe/ywspv84OUH/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Of8zNGj/JSXS/yIi3f8hIdz/ICDc/x8f3P8dHdv/HBzb/xsb + 2/8aGtv/GBjb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fISEtlcEhLZABIS2QASEtkAEhLZXxIS2fUSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV + 2v8WFtr/Fxfa/xgY2/8aGtv/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yQk3f8mJtv/MTGD/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zc3 + Tf8pKb//JCTe/yMj3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv/GBjb/xcX2v8WFtr/FRXa/xQU + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2b0SEtkXEhLZABIS2RQSEtm2EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU2v8VFdr/Fhba/xgY2v8ZGdv/Ghrb/xsb2/8dHdv/Hh7b/x8f + 3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo2P8zNHH/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODhE/ywssP8mJt//JSXd/yQk3P8iItz/ISHc/x8f + 3P8eHtv/HR3b/xwc2/8aGtv/GRnb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ8xIS2VcSEtkAEhLZShIS2ekSEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xYW + 2v8XF9r/GRnb/xoa2/8cHNv/HR3b/x8f3P8gINz/ISHc/yIi3P8kJNz/Jibd/ycn3f8oKN7/KyvT/zU2 + Zf85Ojn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/84OUD/Ly+l/ygo3/8nJ93/Jibd/yQk3P8jI9z/ISHc/yAg3P8eHtv/HR3b/xsb2/8aGtv/GRnb/xcX + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZoRIS2QoSEtmQEhLZ/BIS + 2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ2/8aGtv/HBzb/x0d2/8fH9v/ICDc/yIi + 3P8jI9z/JCTc/yYm3f8oKN3/KSnd/yoq3v8tLdD/Njdf/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5Pv8xMZ3/Kirf/ykp3f8oKN3/Jibd/yUl + 3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtnXEhLZKhIS2c4SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU2v8VFdr/Fhba/xgY + 2v8ZGdv/Gxvb/xwc2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yUl3f8mJt3/KCjd/ykp3f8rK93/LCzf/y8v + 0P83N1//OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk+/zIynf8sLOD/Kyvd/yoq3f8oKN3/Jyfd/yUl3f8jI9z/IiLc/yAg3P8fH9z/HR3b/xwc + 2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2fESEtlZEhLZ9RIS + 2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xYW2v8YGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk + 3P8lJd3/Jyfd/ygo3f8qKt3/Kyve/y0t3v8uLt//MDDQ/zc3X/85Ojn/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OT7/MzOd/y4u4P8tLd7/Kyvd/yoq + 3f8oKN3/Jyfd/yUl3f8kJNz/IiLc/yEh3P8fH9z/HR3b/xwc2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ+xIS2YYSEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ + 2/8bG9v/HBzb/x4e2/8fH9z/ISHc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw + 3/8yMtD/Nzhf/zk5Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5Pv80NJ3/MDDg/y8v3v8tLd7/LCze/yoq3f8pKd3/Jyfd/yUl3f8kJNz/IyPc/yEh + 3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZqhIS + 2f8SEtr/ExPa/xMT2v8VFdr/Fhba/xgY2v8ZGdv/Gxvb/xwc2/8eHtv/Hx/c/yEh3P8iItz/JCTc/yYm + 3f8nJ93/KSnd/ysr3f8sLN7/Li7e/y8v3v8xMd7/MzLg/zQ00f84OF//OTk5/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk+/zY2nf8yMuD/MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtnAEhLZ/xIS2v8UFNr/FRXa/xYW2v8YGNr/GRnb/xoa + 2/8cHNv/Hh7b/yAg3P8hIdz/IiLc/yQk3P8mJt3/Jyfd/ykp3f8rK93/LCze/y4u3v8vL97/MTHe/zMz + 3/81NeD/NjbR/zg5X/85OTn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OT7/Nzee/zQ04f8zM9//MTHe/zAw3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm + 3f8kJNz/IyPc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLZ/xIS + 2csSEtr/ExPa/xQU2v8WFtr/Fxfa/xkZ2/8aGtv/HBzb/x4e2/8gINz/ISHc/yMj3P8kJNz/Jibd/ycn + 3f8pKd3/Kyvd/yws3v8uLt7/MDDe/zEx3v8zM9//NTXf/zc34P84ONH/OTpf/zk6Ov85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6Pv84OJ7/Nzfh/zU1 + 3/8zM9//MTHe/zAw3v8vL97/LS3e/ysr3f8pKd3/KCjd/yYm3f8kJNz/IyPc/yEh3P8fH9z/Hh7b/xwc + 2/8bG9v/GRnb/xcX2v8WFtr/FRXa/xMT2v8SEtr/EhLazhMT2v8UFNr/Fhba/xcX2v8YGNv/Ghrb/xwc + 2/8dHdv/Hx/c/yEh3P8iItz/JCTc/yYm3f8nJ93/KSnd/ysr3f8tLd7/Li7e/zAw3v8yMt//NDTf/zU1 + 3/83N9//ODjh/zo60v86O2D/Ojs7/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs//zo6n/85OeH/Nzff/zU13/8zM9//MjLf/zAw3v8uLt7/LS3e/ysr + 3v8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8aGtv/GRnb/xcX2v8VFdr/FBTa/xMT + 2v8SEtrOFBTa/xUV2v8XF9r/GBjb/xoa2/8bG9v/HR3b/x8f3P8gINz/IiLc/yQk3P8mJt3/Jyfd/ykp + 3f8rK93/LS3e/y8v3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk54P87O+H/PDzS/zw8Yf87PDz/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PED/PDyf/zs7 + 4v85OeD/Nzff/zY23/80NN//MjLf/zAw3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yAg + 3P8fH9z/HR3b/xwc2/8aGtv/GBja/xcX2v8VFdr/FBTa/xMT2s4VFdr/Fhba/xgY2v8aGtv/Gxvb/x0d + 2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyvd/y0t3v8uLt7/MDDe/zIy3/80NN//Njbf/zc3 + 3/85OeD/Ozvg/z094f8+PtP/PT5i/zw9Pf89PT//PT0//z09P/88PT//PD0//zw9P/88PT//PT0//z09 + P/88PT//PT0//z09P/89PT//PT0//z09P/88PT//PD0//z09P/89PT//PT0//z09P/88PT//PD0//z09 + P/89PT//PT0//z09P/89PT//PD0//z09P/88PT//PT0//z09P/89PT//PT0//z09P/89PT//PT0//z09 + P/88PT//PT0//z09P/89PT//PD0//zw9P/89PT//PT0//zw9P/89PT//PT0//z09P/89PT//PT0//z09 + P/89PT//PT0//zw9P/88PT//PD0//z09P/88PT//PD0//z09P/89PT//PT0//z09P/89PT//PT0//z09 + P/88PT//PD0//zw9P/88PT//PD0//z09Qv89PqD/PT3i/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw + 3v8uLt7/LS3e/ysr3f8pKd3/Jyfd/yUl3f8kJNz/IiLc/yAg3P8fH9z/HR3b/xsb2/8ZGdv/GBjb/xcX + 2v8VFdr/FBTazhYW2v8XF9r/GRnb/xsb2/8dHdv/Hh7b/yAg3P8iItz/JCTc/yUl3f8nJ93/KSnd/ysr + 3f8tLd7/Li7e/zAw3v8yMt//NDTf/zY23/83N9//OTng/zs74P89PeD/Pz/i/0BA0/8/P2P/Pj4//z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4/ + Qf8+P0H/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5A/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+P0H/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkD/Pj5D/z8/ + of8/P+L/PT3g/zs74P85OeD/ODjf/zY23/80NN//MjLf/zAw3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yUl + 3f8jI9z/IiLc/yAg3P8eHtv/HR3b/xsb2/8ZGdv/Fxfa/xYW2v8VFdrOFxfa/xkZ2/8aGtv/HBzb/x4e + 2/8gINz/ISHc/yMj3P8lJd3/Jyfd/ygo3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjf/zo6 + 4P87O+D/PT3g/z8/4f9BQeL/QkLT/0BAZP8/QED/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QET/QUGh/0FB4/8/P+H/PT3g/zs74P86OuD/ODjf/zY2 + 3/80NN//MjLf/zAw3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yUl3P8jI9z/ISHc/yAg3P8eHtv/HBzb/xoa + 2/8ZGdv/Fxfa/xYW2s4YGNr/Ghrb/xwc2/8dHdv/Hx/c/yEh3P8jI9z/JSXc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zIy3/80NN//Njbf/zc33/86OuD/Ozvg/z094P8/P+H/QUHh/0ND4v9ERNT/QUJm/0BB + Qf9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Rv9DQ6L/Q0Pj/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/yoq + 3f8oKN3/Jibd/yUl3f8jI9z/ISHc/x8f3P8dHdv/HBzb/xoa2/8YGNv/Fxfazhoa2/8bG9v/HR3b/x4e + 2/8gINz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw3v8yMt//NDTf/zY23/84ON//OTng/zs7 + 4P89PeD/Pz/h/0FB4f9DQ+H/RUXi/0ZG1P9DQ2f/QUJD/0FCRf9BQkT/QUJF/0FCRf9BQkX/QUJF/0FC + Rf9BQkX/QUJE/0FCRf9BQkX/QUJF/0FCRP9BQkT/QUJF/0FCRf9BQkT/QUJE/0FCRf9BQkX/QUJF/0FC + Rf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJE/0FC + RP9BQkT/QUJF/0FCRP9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJE/0FCRf9BQkX/QUJF/0FC + Rf9BQkT/QUJE/0FCRf9BQkT/QUJE/0FCRf9BQkX/QUJE/0FCRP9BQkX/QUJF/0FCRP9BQkT/QUJF/0FC + RP9BQkT/QUJE/0FCRP9BQkX/QUJF/0FCRf9BQkT/QUJH/0RFo/9FReP/Q0Ph/0FB4f8/P+H/PT3g/zs7 + 4P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/yoq3f8oKN3/Jibd/yQk3P8iItz/ICDc/x4e + 2/8dHdv/Gxvb/xoa2/8YGNrOGxvb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyve/y0t + 3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+P/SEjV/0RF + aP9CQ0T/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9CQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0JDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9CQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9CQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0j/Rkak/0dH5P9FReL/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v + 3v8uLt7/Kyve/ykp3f8oKN3/Jibd/yMj3P8iItz/ICDc/x4e2/8dHdv/Gxvb/xkZ284cHNv/Hh7b/yAg + 3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr3f8tLd7/Ly/e/zEx3v8zM9//NTXf/zc33/85OeD/Ozvg/z09 + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0lJ4/9KStX/RUZp/0RERf9EREf/REVH/0RFR/9EREf/REVH/0RF + R/9EREf/REVH/0RER/9ERUf/REVH/0RER/9EREf/RERH/0RER/9ERUf/REVH/0RER/9EREf/REVH/0RF + R/9EREf/RERH/0RFR/9ERUf/RERH/0RFR/9ERUf/REVH/0RER/9EREf/RERH/0RFR/9ERUf/REVH/0RF + R/9ERUf/RERH/0RFR/9EREf/RERH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RER/9EREf/RERH/0RE + R/9ERUf/RERH/0RER/9EREf/RERH/0RER/9ERUf/REVH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RF + R/9EREf/RERH/0RFR/9ERUf/RERH/0RFR/9EREf/RERH/0RFSf9HSKT/SUnk/0dH4v9FReL/Q0Ph/0FB + 4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj + 3P8hIdz/Hx/c/x4e2/8cHNv/Ghrbzh0d2/8fH9z/ICDc/yIi3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u + 3v8wMN7/MjLf/zQ03/83N9//ODjg/zo64P89PeD/Pz/h/0FB4f9DQ+H/RUXi/0dH4v9JSeL/S0vj/0xM + 1f9HR2r/RUZH/0VGSf9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZL/0lJpf9LS+T/SUni/0dH4v9FReL/Q0Ph/0FB4f8/P+H/PT3g/zo64P84OOD/Njbf/zQ0 + 3/8yMt//MDDe/y8v3v8tLd7/Kyvd/ygo3f8mJt3/JCTc/yIi3P8hIdz/Hx/c/x0d2/8cHNvOHh7b/yAg + 3P8iItz/JCTc/yYm3f8oKN3/Kird/yws3v8uLt7/MDDe/zIy3/80NN//Njbf/zg44P86OuD/PDzg/z4+ + 4f9AQOH/Q0Ph/0RE4f9HR+L/SUni/0tL4v9NTeT/Tk7W/0hJa/9GR0j/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSf9GR0z/S0um/01N5f9LS+P/SUni/0dH + 4v9FReL/QkLh/0BA4f8+PuH/PDzg/zo64P84OOD/Njbf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo + 3f8mJt3/JCTc/yIi3P8gINz/Hh7b/x0d284gINz/ISHc/yMj3P8lJd3/Jyfd/ykp3f8rK97/LS3e/y8v + 3v8xMd7/MzPf/zY23/84ON//Ojrg/zw84P8+PuD/QEDh/0JC4f9EROH/Rkbi/0hI4v9KSuL/TEzj/09P + 5P9QUNb/Skps/0dISf9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/SEhL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0hITf9NTab/T0/l/01N4/9LS+L/SEji/0ZG4v9EROH/QkLh/0BA4f8+PuD/PDzg/zo6 + 4P84ON//Njbf/zMz3/8yMt//Ly/e/y0t3v8rK97/KSnd/ycn3f8mJt3/IyPc/yEh3P8fH9z/Hh7bziEh + 3P8iItz/JCTc/ycn3f8pKd3/Kird/y0t3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/Pj7g/z8/ + 4f9BQeH/RETh/0ZG4v9ISOL/Skri/0xM4/9OTuP/UVHk/1JS1/9LTG3/SUlL/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9ISUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lKTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUpP/05Pp/9RUeX/T0/j/0xM + 4/9KSuL/SEji/0ZG4v9EROH/QkLh/0BA4f8+PuD/Ozvg/zk54P83N9//NTXf/zMz3/8xMd7/Ly/e/y0t + 3v8qKt3/KCjd/yYm3f8kJNz/IiLc/yAg3P8fH9zOIiLc/yQk3P8lJd3/Jyfd/ykp3f8rK97/Li7e/zAw + 3v8yMt//NDTf/zY23/85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9FReL/SEji/0pK4v9MTOP/Tk7j/1BQ + 4/9TU+X/U1PX/0xNbv9KSkz/SktO/0pLTv9KS07/SktO/0pKTf9KS03/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SkpN/0pLTv9KS07/SktO/0pLTv9KS03/SktN/0pLTf9KS07/SktO/0pL + Tv9KS07/SktN/0pLTv9KS07/SktO/0pLTv9KSk3/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tf9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktN/0pKTf9KSk3/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTf9KS1D/UFCo/1NT5f9RUeP/T0/j/0xM4/9KSuL/SEji/0ZG4v9EROH/QUHh/z8/ + 4f89PeD/Ozvg/zk54P82Nt//NDTf/zIy3/8wMN7/Li7e/yws3v8qKt3/Jyfd/yUl3f8kJNz/IiLc/yAg + 3M4jI9z/JSXc/ycn3f8pKd3/Kyvd/y0t3v8vL97/MTHe/zIy3/80NN//Njbf/zg44P86OuD/PT3g/z8/ + 4f9BQeH/Q0Ph/0VF4v9ISOL/Skri/0xM4/9OTuP/UVHj/1NT5f9UVNf/TU5v/0tMTf9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMUf9RUaj/U1Pl/1FR + 5P9PT+P/TU3j/0pK4v9ISOL/Rkbi/0RE4f9BQeH/Pz/h/z094P86OuD/ODjg/zY23/80NN//MjLf/zAw + 3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yUl3f8jI9z/ISHcziQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw + 3v9AQOH/UFDj/1JS5P9UVOT/Vlbk/1dX5f9aWuX/XFzl/11d5f9gYOb/YmLm/2Nj5v9lZef/Z2fn/2lp + 5/9ra+j/bW3p/2xs2/9UVXH/TE1O/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TU5T/2Fhq/9tber/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/11d + 5f9bW+X/Wlrl/1hY5f9WVuT/VFTk/1JS5P9QUOP/Skri/zQ03/8uLt7/LCze/yoq3f8oKN3/Jibd/yQk + 3P8iItzOJSXd/ycn3f8pKd3/Kyve/y4u3v8vL97/MTHe/4uL7f/k5Pv/5OT7/+Tk+//k5Pv/5OT7/+Xl + +//l5fv/5eX7/+bm+//m5vv/5ub7/+fn+//n5/v/5+f7/+jo+//p6fz/29vt/29wdv9LTE//TU5R/05O + Uv9NTlL/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9OTlL/Tk5S/01OUf9NTlH/TU5R/01O + Uf9NTlH/Tk5S/01OUf9NTlH/Tk5S/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5S/01OUv9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9OTlL/TU5S/01OUf9NTlH/TU5R/01OUv9NTlH/TU5R/01OUv9NTlH/TU5R/01O + Uf9NTlH/TU5S/01OUf9NTlH/TU5R/01OUv9NTlH/TU5R/01OUv9OTlL/TU5R/01OUf9QUVT/qqu3/+rq + /f/o6Pv/5+f7/+fn+//n5/v/5ub7/+bm+//m5vv/5eX7/+Xl+//l5fv/5eX7/+Tk+//k5Pv/5OT7/+Xl + +//Ly/f/SUni/y4u3v8tLd7/Kyve/ykp3f8nJ93/JSXd/yMj3M4mJt3/KCjd/yoq3f8tLd7/Ly/e/zAw + 3v8yMt//mprv//////////////////////////////////////////////////////////////////// + ///////////////////w8PD/dXZ4/0xNUf9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T1BT/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T1BT/09PU/9PUFP/T1BT/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PUFP/T09T/09PU/9PUFP/Tk9S/1FSVf+5ubr///////////////////////////////////////// + /////////////////////////////////////////////+Tk+/9PT+P/Ly/e/y8v3v8sLN7/Kird/ygo + 3f8mJt3/JCTczicn3f8pKd3/Kyve/y4u3v8wMN7/MjLf/zMz3/+amu////////////////////////// + //////////////////////////////////////////////////////////////Dw8P92d3n/Tk5S/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUFT/U1RX/7m6 + u/////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1BQ4/8wMN7/MDDe/y4u3v8sLN7/KSnd/ycn3f8lJd3OKSnd/ysr3f8tLd7/Ly/e/zEx + 3v8zM9//NDTf/5ub7/////////////////////////////////////////////////////////////// + ////////////////////////9PT0/35+gf9PT1P/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FRVf9WVlr/wsLE//////////////////////////////////// + ///////////////////////////////////////////////////j4/v/UVHj/zIy3/8xMd7/Ly/e/yws + 3v8qKt3/KCjd/yYm3c4pKd3/Kyve/y4u3v8wMN7/MjLf/zQ03/81Nd//m5vv//////////////////// + ///////////////////////////////////////////////////////////////////5+fn/i4uO/1BR + VP9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1b/UlNX/1JTV/9SU1f/UlNX/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlJW/1tc + X//Oz9D///////////////////////////////////////////////////////////////////////// + /////////////+Tk+/9SUuT/MzPf/zIy3/8wMN7/LS3e/ysr3v8pKd3/Jyfdzioq3f8sLN7/Ly/e/zEx + 3v8zM9//Njbf/zc33/+cnO////////////////////////////////////////////////////////// + //////////////////////////////39/f+foKL/UlNX/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1NU + WP9TVFj/VFRY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9UVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1RUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9UVFj/U1RY/1NUWP9UVFj/VFRY/1NUWP9UVFj/VFRY/1NU + WP9TVFj/U1RY/1RUWP9TVFj/VFRY/1RUWP9SU1f/Zmdq/9/f3/////////////////////////////// + ////////////////////////////////////////////////////////5OT7/1JS5P80NN//MzPf/zEx + 3v8uLt7/LCze/yoq3f8oKN3OKyve/y0t3v8wMN7/MjLf/zQ03/83N9//ODjf/52d7/////////////// + /////////////////////////////////////////////////////////////////////////////8XF + xv9bXF//VFVZ/1VWWf9VVln/VVZZ/1VVWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VVWf9VVln/VVZZ/1VW + Wf9VVVn/VVVZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVVZ/1VVWf9VVln/VVZZ/1VVWf9VVVn/VVVZ/1VV + Wf9VVVn/VVZZ/1VWWf9VVVn/VVVZ/1VWWf9VVVn/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVVZ/1VW + Wf9VVln/VVZZ/1VWWf9VVVn/VVVZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVVn/VVZZ/1VW + Wf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVVn/VVZZ/1VWWf9VVln/VVZZ/1JT + V/+DhIf/9PT0//////////////////////////////////////////////////////////////////// + ///////////////////k5Pv/VFTk/zU13/80NN//MjLf/y8v3v8tLd7/Kyvd/ykp3c4sLN7/Ly/e/zEx + 3v8zM9//Njbf/zg43/85OeD/nZ3w//////////////////////////////////////////////////// + ////////////////////////////////////////5+fo/3Jydf9UVVn/Vlda/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vlda/1ZXW/9WV1v/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1v/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1v/Vlda/1ZXW/9WV1v/Vlda/1ZX + Wv9WV1r/Vlda/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXW/9WV1v/Vlda/1ZX + Wv9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXWv9WV1r/Vldb/1ZXW/9WV1r/Vldb/1ZXWv9WV1r/Vlda/1ZX + W/9WV1v/Vlda/1ZXW/9WV1r/Vlda/1ZXW/9WVlr/Vldb/66usP////////////////////////////// + /////////////////////////////////////////////////////////////+Tk+/9VVeT/Njbf/zU1 + 3/8zM9//MTHe/y4u3v8sLN7/Kirdzi0t3v8vL97/MjLf/zQ03/83N9//OTng/zo64P+envD///////// + //////////////////////////////////////////////////////////////////////////////// + ///8/P3/p6iq/1hZXf9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1ZW + Wv9wcXT/4eHi//////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1VV5P83N9//Njbf/zQ03/8xMd7/Ly/e/y0t3v8rK93OLi7e/zAw + 3v8zM9//NTXf/zg43/86OuD/Ozvg/56e8P////////////////////////////////////////////// + ///////////////////////////////////////////////////k5OX/dXZ5/1ZXW/9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/Wltf/66usP/9/f3///////////////////////// + ///////////////////////////////////////////////////////////////////k5Pv/Vlbk/zg4 + 4P83N9//NTXf/zMz3/8wMN7/Li7e/yws3s4vL97/MTHe/zQ03/82Nt//ODjg/zs74P88POD/n5/w//// + //////////////////////////////////////////////////////////////////////////////// + //////////////7+/v/BwcP/ZGVp/1hZXf9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1pa + Xv9aWl7/WVpe/1paXv9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9aWl7/Wlpe/1la + Xv9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1paXv9aWl7/Wlpe/1paXv9aWl7/WVpe/1la + Xv9aWl7/Wlpe/1paXv9aWl7/WVpe/1laXv9ZWl7/Wlpe/1paXv9aWl7/WVpe/1laXv9ZWl7/Wlpe/1pa + Xv9aWl7/Wlpe/1laXv9ZWl7/WVpe/1paXv9aWl7/Wlpe/1laXv9aWl7/Wlpe/1paXv9aWl7/WVpe/1lZ + Xf+Kio3/7e3t//////////////////////////////////////////////////////////////////// + /////////////////////////////+Xl+/9XV+T/OTng/zg44P82Nt//MzPf/zEx3v8vL97/LS3ezjAw + 3v8yMt//NTXf/zc33/85OeD/PDzg/z094P+fn/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////r6+v+urrD/YGFl/1la + Xv9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1pbX/9ZWl7/fH2A/9/f4P////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/1hY + 5f86OuD/OTng/zc33/80NN//MjLf/zAw3v8uLt7OMTHe/zMz3/81Nd//ODjf/zo64P88POD/Pj7g/6Cg + 8P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////X29v+wsLL/aGhs/1pbX/9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9bXGD/XF1h/4WG + if/b29z///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////l5fv/WVnl/zs74P86OuD/ODjf/zU13/8zM9//MDDe/y4u + 3s4yMt//NDTf/zY23/84OOD/Ozvg/z4+4P8/P+H/oKDw//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////r6 + +v/Fxcf/e3x//15fY/9bXGH/XV1i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9cXWH/W1xh/2dobP+cnZ//6Ojo//////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Xl + +/9ZWeX/PDzg/zs74P84OOD/Njbf/zQ03/8xMd7/Ly/ezjIy3/80NN//Nzff/zk54P88POD/Pj7h/0BA + 4f+hofD///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////7+/v/m5uf/rq+x/31+gv9mZ2v/Xl9j/1xd + Yv9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWL/XV5i/11eYv9dXmP/Xl9j/15fY/9eX2P/Xl5j/11e + Y/9dXmL/XV1i/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9dXmL/YWJm/29wc/+TlJf/zMzO//f3 + 9/////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/1tb5f89PeD/PDzg/zk54P83N9//NDTf/zIy + 3/8wMN7OMzPf/zU13/84ON//Ojrg/z094P8/P+H/QUHh/6Gh8P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////9/f3/7Ozt/83Oz/+wsbP/nJ2f/5KTlv+Pj5P/j4+S/4+Pkv+Pj5L/j4+S/4+P + kv+Pj5L/j4+S/4+Pkv+Pj5L/j4+T/4+Pkv+Pj5L/j4+S/4+Pkv+Pj5L/j5CT/5CRlP+QkZT/jo+S/4mK + jf+Cg4f/eXp+/3JzeP9ub3T/amtw/2xtcf9wcXb/dXZ6/35+gv+Gh4r/jI2Q/5CQk/+QkZT/kJCT/4+Q + k/+Pj5L/j4+S/4+Pkv+Pj5L/j4+S/4+Pkv+Pj5L/j4+T/4+Pkv+Pj5P/j4+T/4+Pkv+Pj5L/j4+T/4+P + kv+QkJP/lpaZ/6WlqP++vsD/3t7f//f39/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///l5fv/XFzl/z4+4P89PeD/Ojrg/zg43/81Nd//MzPf/zEx3s40NN//Njbf/zg44P87O+D/PT3g/0BA + 4f9BQeH/oqLw//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/7+/v/+fn5//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4 + +P/4+Pj/+fn5//j4+f/x8fH/4ODi/8nKzP+wsbX/nZ6i/4+Qlf+EhYr/f4CG/3x9g/96e4H/enyB/31+ + hP+Bgof/iImP/5WWm/+lpqr/vb3B/9XW1//p6er/9vb2//n5+f/5+fn/+Pj4//j4+P/4+Pj/+Pj4//j4 + +P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/6+vr//f39//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xl+/9cXOX/Pj7h/z094P87O+D/ODjg/zY2 + 3/8zM9//MTHezjQ03/82Nt//OTng/zw84P8+PuH/QUHh/0JC4f+iovD///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////z8/P/p6uv/yMnL/6OkqP+Ki5H/fX6E/3d4 + fv90dXv/c3R6/3Jzef9yc3j/cXN4/3FyeP9xcnj/cnN4/3Jzef9zdHn/c3V6/3V2fP95eoD/g4SJ/5WW + m/+1trr/2trc//X19v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/1xc5f8/P+H/Pj7h/zw84P85OeD/Nzff/zQ03/8yMt/ONTXf/zc33/86OuD/PDzg/z8/ + 4f9BQeH/Q0Ph/6Ki8P////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v7 + +//i4uP/tLW4/42Ok/97fIL/dHV7/3Jzef9wcnf/b3B1/21udP9sbXL/a2xx/2prcP9qa3D/amtw/2pr + cP9qa3D/a2xx/2xtcv9tbnP/bm91/3Bxdv9xcnj/c3R6/3Z3ff+Cg4j/np+j/8zNz//y8vL///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////l5fv/XV3l/0BA4f8/P+H/PDzg/zo6 + 4P83N9//NTXf/zIy3842Nt//ODjg/zo64P89PeD/QEDh/0JC4f9EROH/o6Pw//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v/n5+j/s7O3/4iJj/93eH7/c3R6/3Fyd/9ub3T/bG1y/2pr + cP9oaW7/Zmds/2Vma/9kZWr/ZGVp/2Nkaf9jZGj/Y2Ro/2Nkaf9kZWr/ZWZq/2Zna/9naG3/aWpv/2ts + cf9tbnP/b3B2/3JzeP90dXv/fX6E/5qboP/Pz9H/9/f3//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9eXub/QUHh/0BA4f89PeD/Ojrg/zg43/81Nd//MzPfzjY23/84OOD/Ozvg/z09 + 4P9AQOH/Q0Ph/0RE4f+jo/D///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////19fb/xsfJ/5CR + lv93eX7/c3R6/3Bxdv9tbnP/amtw/2dobf9lZmv/Y2Rp/2FiZ/9gYWX/X2Bk/15fY/9dXmP/XV5i/11e + Yv9dXmL/XV5i/15fY/9fX2T/X2Bl/2FiZv9iY2j/ZGVq/2ZnbP9pam//a2xx/25vdf9xcnj/dHV7/3+B + hv+pqa3/4uLk//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5ub7/15e5v9BQeH/QEDh/z4+ + 4P87O+D/ODjg/zY23/80NN/ONjbf/zk54P87O+D/Pj7g/0FB4f9DQ+H/RUXi/6Oj8P////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6Ojp/6mqrv99foT/dHV6/3Bxd/9tbnP/aWpv/2ZnbP9jZGn/YWJn/19g + ZP9dXmL/XF1h/1pbX/9ZWl7/WVpd/1hZXf9YWFz/V1hc/1dYXP9YWVz/WFld/1laXv9aW1//W1xg/1xd + Yv9eX2P/YGFl/2JjaP9lZmr/aGlt/2tscf9vcHX/cnN5/3Z3ff+NjpP/y8vO//n5+f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////m5vv/X1/m/0JC4f9BQeH/Pj7h/zs74P85OeD/Njbf/zQ03843N9//OTng/zw8 + 4P8+PuH/QUHh/0RE4f9FReL/o6Px//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////f7+/9jY2v+Vlpr/d3h+/3Jz + ef9ub3T/amtw/2ZnbP9jZGn/YGFm/15fY/9cXWH/Wltf/1hZXf9XWFv/VVZa/1VVWf9UVVj/U1RY/1NU + V/9TU1f/U1RX/1NUV/9TVFj/VFVZ/1VWWv9WV1v/V1hc/1laXv9bXGD/XV5i/19gZP9iY2f/ZWZq/2hp + bv9sbXL/cHF3/3R1e/+AgYf/tbW5//Ly8/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9fX+b/QkLh/0FB + 4f8/P+H/PDzg/zk54P83N9//NTXfzjc33/86OuD/PDzg/z8/4f9CQuH/RETh/0ZG4v+kpPH///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////z8/P/Q0NL/iouR/3V2fP9xcnf/bG1y/2hpbv9kZWr/YWJm/15fY/9bXGD/WVpe/1dY + XP9VVlr/U1RY/1JTV/9RUlX/UFFU/09QVP9PUFP/T09T/09PU/9PT1P/T1BT/09QU/9QUVT/UVFV/1JS + Vv9TVFf/VFVZ/1ZXWv9YWVz/Wltf/1xdYv9fYGX/YmNo/2ZnbP9qa3D/bm91/3N0ef96e4H/qaqu/+7u + 7/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5ub7/2Bg5v9DQ+H/QkLh/z8/4f88POD/Ojrg/zc33/81Nd/OODjg/zo6 + 4P89PeD/Pz/h/0JC4f9EROL/Rkbi/6Sk8f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////9/f3/y8vO/4aHjP90dXv/cHF2/2ts + cf9mZ2z/YmNo/19gZP9cXWH/WVpe/1ZXW/9UVVn/U1NX/1FSVf9PUFT/Tk9S/01OUf9MTVD/TE1Q/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0xNUP9NTlH/Tk5S/09PU/9QUVT/UlJW/1NUWP9VVlr/WFld/1pb + X/9dXmL/YWJm/2Rlav9pam7/bW50/3Jzef94eX//o6So/+3t7v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5vv/YGDm/0ND + 4f9CQuH/QEDh/z094P86OuD/ODjf/zU13844OOD/Ozvg/z094P9AQOH/QkLh/0VF4v9HR+L/pKTx//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/9DR0/+Gh43/dHV6/29wdv9qa3D/ZWZr/2FiZ/9dXmP/Wltf/1dYXP9VVln/UlNX/1BR + Vf9PT1P/TU5R/0xNUP9LS0//SktO/0lKTf9ISUz/SElM/0hJTP9ISEv/SEhL/0hJTP9ISUz/SUpM/0lK + Tf9KS07/S0xP/0xNUP9OT1L/T1BU/1FSVv9UVFj/Vldb/1laXv9cXWH/X2Bl/2Nkaf9oaW7/bW5z/3Jz + eP94eX//p6es//Hx8f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9gYOb/Q0Ph/0JC4f9AQOH/PT3g/zo64P84ON//Njbfzjg4 + 4P87O+D/Pj7g/0BA4f9DQ+H/RUXi/0dH4v+kpPH///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Z2tz/i4yR/3R1e/9vcHX/amtw/2Vm + a/9hYmb/XV5i/1laXv9WV1v/U1RY/1FSVf9PUFP/TU5R/0tMT/9KS07/SUlM/0hIS/9HSEr/RkdK/0ZG + Sf9FRkn/RUZI/0VGSP9FRkj/RUZJ/0VGSf9GR0n/R0dK/0dIS/9ISUz/SUpN/0tLTv9MTVD/Tk9S/1BR + VP9SU1b/VVZZ/1hYXP9bXGD/X19k/2NkaP9naG3/bG1z/3JzeP95eoD/r7C0//b29v////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5ub7/2Fh + 5v9EROH/Q0Ph/0BA4f89PeD/Ozvg/zg44P82Nt/OOTng/zs74P8+PuD/QEDh/0ND4f9GRuL/R0fi/6Sk + 8f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////6urr/5eYnf91dnz/cHF2/2prcP9lZmv/YGFm/1xdYf9ZWV3/VVZa/1JTV/9QUVT/Tk5S/0xM + UP9KS07/SElM/0dIS/9GR0n/RUZI/0RFSP9ERUf/Q0RH/0NERv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NE + R/9ERUf/RUVI/0VGSf9GR0r/SEhL/0lKTf9LS07/TE1Q/09PU/9RUlX/VFVY/1dYXP9aW1//Xl9j/2Nk + aP9naG3/bW5z/3Jzef99foT/wsPG//39/f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////m5vv/YWHm/0RE4f9DQ+H/QEDh/z4+4P87O+D/ODjg/zY2 + 3845OeD/Ozvg/z4+4P9BQeH/Q0Ph/0ZG4v9HR+L/paXx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////b29/+srLD/d3l+/3Fyd/9rbHH/ZWZr/2Fi + Zv9cXWH/WFld/1VWWf9SU1b/T1BT/01NUf9LS07/SUpN/0dIS/9GR0n/RUVI/0RER/9DREb/QkNF/0JC + Rf9BQkT/QUJE/0FBRP9BQUT/QUFE/0FCRP9BQkT/QUJF/0JDRf9DQ0b/Q0RH/0RFSP9FRkn/R0dK/0hJ + TP9KSk3/TExP/05PUv9QUVX/U1RY/1dXW/9aW1//Xl9k/2Nkaf9oaW7/bm90/3N0ev+HiI7/2dnb//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9hYeb/RETh/0ND4f9BQeH/Pj7h/zs74P85OeD/Nzffzjk54P87O+D/Pj7h/0FB4f9EROH/Rkbi/0hI + 4v+lpfH///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////y8vO/35/hf9yc3n/bG1y/2dobP9hYmf/XV5i/1lZXf9VVln/UlJW/09QU/9MTVD/SktO/0hJ + TP9GR0r/RUZI/0RER/9DQ0b/QkJF/0FCRP9AQUP/QEFD/0BAQ/8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv9AQEP/QEFD/0FBRP9BQkX/QkNF/0NERv9ERUj/RkZJ/0dIS/9JSk3/S0xP/01OUf9QUVT/U1RY/1dY + W/9bXGD/X2Bk/2Rlaf9pam//b3B2/3V2fP+cnaL/8PHx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5ub7/2Ji5v9FReL/Q0Ph/0FB4f8+PuH/PDzg/zk5 + 4P82Nt/OOTng/zw84P8/P+H/QUHh/0RE4f9HR+L/SEji/6Wl8f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+rq7P+TlJn/dHV7/25vdf9oaW7/Y2Ro/15f + Y/9ZWl7/VVZa/1JTVv9PUFP/TE1Q/0pLTf9ISEv/RkdJ/0RFSP9DREb/QkNF/0FCRP9AQUP/P0BC/z8/ + Qv8+P0H/Pj9B/z4+Qf8+PkH/Pj5A/z4+QP8+PkH/Pj9B/z4/Qf8/P0L/P0BC/0BAQ/9AQUP/QUJE/0JD + Rv9EREf/RUZI/0dHSv9JSUz/S0xP/01OUf9QUVX/VFRY/1dYXP9bXGD/YGFm/2Vma/9rbHH/cXJ4/3t8 + gv/AwcT//f7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///m5vv/YWHm/0VF4v9DQ+H/QUHh/z4+4P88POD/OTng/zc33845OeD/PDzg/z8/4f9BQeH/RETh/0dH + 4v9ISOL/paXx//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///9/f3/uLm8/3h5f/9xcnf/amtw/2Rlav9fYGT/W1tf/1ZXW/9TU1f/T1BT/0xNUP9KS03/SEhL/0ZG + Sf9ERUf/QkNG/0FCRP9AQUP/P0BC/z4/Qf8+P0H/PT5A/z0+QP89PUD/PT0//zw9P/88PT//PD0//z09 + P/89PUD/PT5A/z0+QP8+PkH/Pj9B/z9AQv9AQEP/QUFE/0JDRf9DREb/RUVI/0dHSv9JSUz/S0xP/05O + Uv9RUlX/VFVZ/1hZXf9dXmL/YmNn/2dobf9tb3T/c3R6/42Ok//m5uf///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9iYub/RUXi/0RE4f9BQeH/Pj7h/zw8 + 4P85OeD/Nzffzjk54P88POD/Pj7h/0FB4f9EROH/R0fi/0hI4v+lpfH///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bn6P+MjZP/c3R6/21uc/9naG3/YWJm/1xd + Yf9YWFz/U1RY/1BRVP9NTlH/SktO/0hIS/9GRkn/REVH/0JDRv9BQkT/QEFD/z9AQv8+P0H/PT5A/z0+ + QP88PT//PD0//zw9P/88PD7/PDw+/zs8Pv87PD7/PDw+/zw8Pv88PT//PD0//z09QP89PkD/Pj5B/z4/ + Qf8/QEL/QEFD/0JCRf9DREb/RUVI/0ZHSv9JSkz/S0xP/05PUv9SUlb/VVZa/1pbX/9eX2T/ZGVp/2pr + cP9wcXf/eHl//7m5vf/9/f3///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5ub7/2Ji5v9FReL/RETh/0FB4f8+PuH/PDzg/zk54P83N9/OOTng/zw84P8+PuH/QUHh/0ND + 4f9GRuL/SEji/6Wl8f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///9/f3/u7u//3h5f/9wcXf/amtw/2Rlaf9eX2P/WVpe/1VWWf9RUlX/Tk5S/0tMT/9ISUz/RkdJ/0RF + R/9CQ0b/QUJE/0BAQ/8/P0L/Pj5B/z0+QP88PT//PD0//zw8Pv87PD7/Ozw+/zs8Pv87Oz3/Ozs+/zs7 + Pf87PD7/Ozw+/zs8Pv87PD7/PDw//zw9P/89PUD/PT5A/z4/Qf8/QEL/QEFD/0FCRf9DREb/RUZI/0dI + S/9JSk3/TE1Q/09QU/9TVFf/V1hc/1xdYf9hYmb/Z2ds/21uc/9zdHr/jo+U/+jo6f////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////m5vv/YmLm/0VF4v9EROH/QUHh/z4+ + 4f88POD/OTng/zc33845OeD/PDzg/z4+4f9BQeH/RETh/0ZG4v9ISOL/paXx//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+7u7/+Sk5j/c3R6/21uc/9naGz/YWJm/1tc + YP9XWFv/U1NX/09QU/9MTVD/SUpN/0ZHSv9ERUj/QkNG/0FCRP9AQEP/Pj9B/z4+QP89PkD/PD0//zw8 + Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zw9 + P/88PT//PT5A/z4/Qf8/QEL/QEFD/0JCRf9DREf/RUZJ/0hJS/9KS07/TU5R/1FSVf9VVVn/WVpe/15f + Y/9kZWn/amtw/3Fyd/95eoD/wsPG//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9iYub/RUXi/0RE4f9BQeH/Pz/h/zw84P85OeD/Nzffzjk54P88POD/Pj7h/0FB + 4f9EROH/R0fi/0hI4v+lpfH///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////0NDS/31+hP9xcnj/amtw/2Rlav9eX2P/WVpe/1VVWf9RUVX/TU5R/0pLTv9HSEv/RUZI/0NE + Rv9BQkT/QEBD/z8/Qv8+PkD/PT0//zw9P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6 + PP86Ojz/Ojo8/zo7PP86Oz3/Ojs9/zs7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/Qf8/QEL/QUFE/0JD + Rf9ERUf/RkdK/0lJTP9MTE//T1BT/1NTV/9XWFv/XFxh/2FiZv9naG3/bm90/3R1e/+dnqP/9fX2//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5ub7/2Fh5v9FReL/RETh/0FB + 4f8+PuH/PDzg/zk54P83N9/OOTng/zw84P8+PuH/QUHh/0RE4f9GRuL/SEji/6Wl8f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v7+/+rrLD/dXZ8/29wdf9oaW7/YmNn/1xd + Yf9XWFz/U1RX/09QU/9LTE//SUlM/0ZHSf9EREf/QkNF/0BBQ/8/QEL/Pj5B/z09QP88PT//Ozw+/zs8 + Pv87Oz3/Ojs9/zo7PP86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ozz/Ojs9/zo7 + Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/Qf9AQEP/QUJE/0NERv9FRkj/R0hL/0pLTv9NTlH/UVJV/1VW + Wf9aW1//X2Bk/2Vmav9rbHH/cnN4/4OEiv/d3d////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////m5vv/YWHm/0VF4v9EROH/QUHh/z8/4f88POD/OTng/zc33845OeD/PDzg/z4+ + 4f9BQeH/RETh/0dH4v9ISOL/paXx//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7u7v/5CRlv9zdHn/bG1z/2Zma/9fYGX/Wltf/1VWWv9RUlX/TU5R/0pLTv9HSEv/RUZI/0ND + Rv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87PD7/Ojs9/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw8P/89PT//Pj5A/z8/ + Qv9AQUP/QkJF/0RER/9GR0n/SUlM/0xNUP9PUFP/U1RY/1hZXP9dXmL/YmNo/2lqb/9wcXb/eHl//8HB + xP////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9hYeb/RUXi/0RE + 4f9BQeH/Pj7h/zw84P85OeD/Nzffzjk54P88POD/Pj7g/0FB4f9DQ+H/Rkbi/0hI4v+lpfH///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Z2dv/gIGH/3FyeP9qa3D/ZGVp/15f + Y/9YWV3/VFVY/1BRVP9MTVD/SUpN/0ZHSv9ERUf/QkNF/0BBQ/8/P0L/Pj5A/zw9P/88PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw9P/89PkD/Pj9B/z9AQv9BQkT/Q0NG/0VGSP9ISEv/SktO/05P + Uv9SUlb/Vldb/1tcYP9hYmb/Z2ht/25vdP90dXv/pqar//n5+v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5ub7/2Fh5v9EROH/Q0Ph/0BA4f8+PuD/Ozvg/zk54P83N9/OOTng/zs7 + 4P8+PuD/QEDh/0ND4f9FReL/SEji/6Wl8f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////8DBxP94eX//cHF2/2lqbv9iY2j/XF1h/1dYXP9SU1f/T09T/0tMT/9ISUz/RUZJ/0NE + Rv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7Pf87PD7/PDw+/zw9 + P/8+PkD/Pz9C/0BBQ/9CQ0X/REVH/0dHSv9JSk3/TU5R/1BRVf9VVln/Wlpe/19gZP9lZmv/bG1y/3N0 + ef+QkZb/7u7v//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5vv/YWHm/0RE + 4f9DQ+H/QEDh/z094P87O+D/ODjg/zY23844OOD/Ozvg/z4+4P9AQOH/Q0Ph/0VF4v9HR+L/pKTx//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////8/Pz/ra6y/3V2fP9ub3T/Z2ht/2Fi + Zv9bXGD/Vldb/1FSVv9OTlL/SktO/0dIS/9FRUj/QkNG/0FBRP8/QEL/Pj5B/z09P/88PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8+P0H/QEBD/0FCRf9DREf/RkZJ/0lJ + TP9MTVD/T1BU/1RUWP9YWV3/Xl9j/2Rlaf9rbHH/cXJ4/4SFiv/g4OL///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9hYeb/RETh/0ND4f9AQOH/PT3g/zs74P84OOD/Njbfzjg4 + 4P87O+D/PT3g/0BA4f9DQ+H/RUXi/0dH4v+kpPH///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////f39/+en6P/c3R6/21uc/9mZ2z/YGFl/1pbX/9VVlr/UVFV/01NUf9JSk3/RkdK/0RF + R/9CQ0X/QEFD/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8 + Pv88PD//PT0//z4/Qf8/QEL/QUJE/0NERv9FRkn/SElL/0tMT/9PT1P/U1RX/1dYXP9dXmL/Y2Ro/2lq + b/9wcXf/fX6E/9LS1f////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5ub7/2Bg + 5v9DQ+H/QkLh/0BA4f89PeD/Ojrg/zg43/81Nd/OODjg/zo64P89PeD/Pz/h/0JC4f9FReL/Rkbi/6Sk + 8f////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8PDx/5KTmP9ydHn/bG1y/2Vm + a/9fYGT/WVpe/1RVWf9QUVT/TE1Q/0lKTP9GR0n/RERH/0JCRf9AQEP/Pj9B/z0+QP88PT//Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + O/85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs+/zs8Pv88PT//PT5A/z8/Qv9AQUT/QkNG/0VF + SP9HSEv/SktO/05PUv9SU1b/V1hb/1xdYf9iY2f/aGlu/3Bxdv94eX//xMTH//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////m5vv/YGDm/0ND4f9CQuH/Pz/h/z094P86OuD/Nzff/zU1 + 3843N9//Ojrg/zw84P8/P+H/QkLh/0RE4f9GRuL/pKTx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////s7O3/i4yS/3Jzef9rbHH/ZGVq/15fY/9ZWl3/VFVY/1BQVP9MTFD/SElM/0VG + Sf9DREf/QUJE/z9AQv8+P0H/PT1A/zw8Pv87PD7/Ojs9/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo7/zk6O/85OTv/OTk7/zk6O/85Ojv/OTk7/zk6O/85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7 + Pf87Oz3/Ozw+/zw9P/89PkD/Pz9C/0BBQ/9CQ0X/REVI/0dIS/9KS07/Tk5S/1JSVv9WV1v/W1xg/2Fi + Z/9oaW3/b3B1/3Z3ff+8vMD///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9gYOb/Q0Ph/0JC4f8/P+H/PDzg/zo64P83N9//NTXfzjc33/85OeD/PDzg/z4+4f9BQeH/RETh/0VF + 4v+jo/H///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fo6f+Jio//cnN4/2ts + cf9kZWr/Xl9j/1hZXf9TVFj/T1BT/0tMT/9ISUz/RUZJ/0NERv9BQkT/P0BC/z4+Qf89PT//PDw+/zs8 + Pv86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85OTv/OTo7/zk6 + O/85OTv/OTo7/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8/P0H/QEFD/0JD + Rf9ERUj/R0dK/0pKTf9NTlH/UVJV/1ZXWv9bXGD/YWJm/2dobf9vcHX/dnd9/7e3u//+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5ub7/19f5v9DQ+H/QUHh/z4+4f88POD/OTng/zc3 + 3/81Nd/ONjbf/zk54P87O+D/Pj7g/0BA4f9DQ+H/RUXi/6Oj8P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OTm/4eIjf9yc3j/a2xx/2Rlaf9eX2P/WFld/1NUWP9PUFP/S0xP/0hJ + TP9FRkn/Q0RG/0FCRP8/QEL/Pj5B/zw9P/88PD7/Ozw+/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/Qf9AQUP/QkNF/0RFR/9HR0r/SkpN/01OUf9RUlX/VlZa/1tc + YP9hYmb/Z2ht/25vdf91dnz/s7O3//39/f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///m5vv/X1/m/0JC4f9BQeH/Pj7h/zw84P85OeD/Njbf/zQ03842Nt//ODjg/zs74P8+PuD/QEDh/0ND + 4f9FReL/o6Pw//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5uj/iImO/3Jz + eP9rbHH/ZGVp/15fY/9YWV3/U1RY/09QU/9LTE//SElM/0VGSf9DREb/QUJE/z9AQv8+PkH/PT0//zw8 + Pv87PD7/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87Oz3/Ozw+/zw9P/89PkD/Pj9B/0BB + Q/9CQ0X/REVH/0dHSv9KSk3/TU5R/1FSVf9WV1r/W1xg/2FiZv9naG3/bm91/3V3fP+1trn//v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9eXub/QUHh/0FB4f89PeD/Ozvg/zk5 + 4P82Nt//NDTfzjY23/84ON//Ojrg/z094P8/P+H/QkLh/0RE4f+jo/D///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+vr7P+LjJH/cnN5/2tscf9kZWr/Xl9j/1hZXf9UVFj/T1BT/0xM + T/9ISUz/RUZJ/0NERv9BQkT/P0BC/z4/Qf89PT//PDw+/zs8Pv86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8/P0H/QEFD/0JDRf9ERUj/R0hK/0pLTv9NTlH/UVJW/1ZX + W/9bXGD/YWJm/2hobf9vcHX/dnd9/7u7vv////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/15e5f9BQeH/QEDh/z094P86OuD/ODjg/zU13/8zM9/ONTXf/zc33/86OuD/PDzg/z8/ + 4f9BQeH/Q0Ph/6Ki8P////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////7+/w/4+Q + lv9yc3n/bG1y/2Vmav9fX2T/WVpe/1RVWf9QUVT/TE1Q/0lJTP9GR0n/Q0RH/0FCRf9AQEP/Pj9B/z09 + QP88PD//Ozw+/zo7Pf86Oz3/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z8/ + Qv9AQUT/QkNF/0VFSP9HSEv/SktO/05PUv9SU1b/V1db/1xdYf9iY2f/aGlu/29wdv94eX//wcLF//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////l5fv/XV3l/0BA4f8/P+H/PDzg/zo6 + 4P83N9//NTXf/zMz3841Nd//Nzff/zk54P88POD/Pj7h/0FB4f9CQuH/oqLw//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////19fb/m5ug/3N0ev9tbnP/Zmdr/19gZf9aW1//VVZZ/1BR + Vf9NTVH/SUpN/0ZHSv9ERUf/QkJF/0BBQ/8+P0H/PT5A/zw9P/87PD7/Ozs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zo7Pf87PD7/PDw+/z09P/8+PkH/P0BC/0FBRP9DQ0b/RUZI/0hIS/9LTE//Tk9S/1JT + V/9XWFz/XF1i/2JjaP9pam//cHF3/3t8gv/Oz9H///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+Xl+/9cXOX/Pz/h/z4+4f88POD/OTng/zc33/80NN//MjLfzjQ03/82Nt//ODjg/zs7 + 4P8+PuD/QEDh/0FB4f+iovD///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v7 + +/+pqq7/dHV7/25vdP9naG3/YGFm/1tcYP9WVlr/UVJW/01OUf9KS07/R0hL/0RFSP9CQ0X/QEFD/z8/ + Qv89PkD/PD0//zw8Pv87PD7/Ojs9/zo7PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/ + Qf9AQEP/QUJE/0NER/9GRkn/SElM/0xMT/9PUFP/U1RY/1hZXf9dXmP/Y2Rp/2prcP9xcnj/goOI/93d + 3/////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/1xc5f8/P+H/Pj7g/zs7 + 4P84OOD/Njbf/zMz3/8xMd7OMzPf/zU13/84ON//Ojrg/z094P8/P+H/QUHh/6Gh8P////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7//7u7v/93eH7/b3B2/2hpbv9iY2f/XF1h/1dY + XP9SU1f/Tk9S/0tLTv9ISEv/RUZI/0NERv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6 + PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87Oz3/PDw+/zw9P/89PkD/Pz9C/0BBQ/9CQ0X/REVH/0ZHSv9JSk3/TE1Q/1BR + VP9UVVn/WVpe/19gZP9lZmv/bG1y/3Jzef+MjZL/6urr//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////l5fv/W1vl/z4+4P89PeD/Ojrg/zg43/81Nd//MzPf/zEx3s4yMt//NDTf/zc3 + 3/85OeD/PDzg/z4+4f9AQOH/oaHw//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////09PV/31/hP9xcnf/amtw/2Nkaf9dXmL/WFld/1NUWP9PUFT/TE1Q/0lJTP9GR0n/RERH/0JC + Rf9AQUP/Pz9C/z0+QP88PT//PDw+/zs8Pv86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT1A/z4/ + Qf8/QEL/QUFE/0NDRv9FRUj/R0hL/0pLTv9OTlL/UVJW/1ZXWv9bXGD/YGFm/2ZnbP9tbnT/dHV6/5+g + pf/39/f///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+Xl+/9bW+X/PT3g/zw8 + 4P86OuD/Nzff/zU13/8yMt//MDDezjIy3/80NN//Njbf/zg44P87O+D/PT3g/z8/4f+goPD///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////p6er/i4yS/3Jzef9sbXL/ZWZr/19g + ZP9aW1//VVZZ/1FSVf9NTlH/SktO/0dIS/9FRUj/Q0NG/0FBRP8/QEL/Pj9B/z0+QP88PT//Ozw+/zs7 + Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/PDw+/zw9P/89PkD/Pz9C/0BBQ/9CQkX/Q0RH/0ZHSf9ISUz/S0xP/09Q + U/9TVFf/V1hc/1xdYf9iY2f/aGlu/29wdv93eH7/urq+//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/1pa5f88POD/Ozvg/zk54P82Nt//NDTf/zEx3v8wMN7OMDDe/zMz + 3/81Nd//ODjf/zo64P89PeD/Pj7g/6Cg8P////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////j4+P+jpKj/dHV7/25vdP9naG3/YWJm/1tcYf9XWFv/UlNX/05PU/9LTE//SElM/0ZG + Sf9EREf/QkJF/0BBQ/8/P0L/Pj5A/z09QP88PT//Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/ + Qf8/QEL/QUJE/0NDRv9ERUj/R0hK/0pKTf9NTlH/UFFV/1RVWf9ZWl7/Xl9j/2Rlav9rbHH/cXJ4/3+A + hv/W1tj///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////l5fv/WVnl/zs7 + 4P86OuD/ODjf/zU13/8zM9//MDDe/y8v3s4wMN7/MjLf/zQ03/83N9//Ojrg/zw84P89PeD/n5/w//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////8bHyv96e4H/cHF3/2pr + cP9jZGn/Xl9j/1lZXf9UVVn/UFFU/01NUf9KSk3/R0hL/0VFSP9DQ0b/QUJE/0BAQ/8+P0H/PT5A/zw9 + P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/P0BC/0BBQ/9CQ0X/RERH/0ZHSf9ISUz/S0xP/05P + Uv9SU1f/Vldb/1tcYP9gYWb/Zmds/21uc/9zdHr/lZab//Dw8f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+Tk+/9YWOX/Ojrg/zk54P83N9//NDTf/zIy3/8wMN7/Li7ezi8v + 3v8xMd7/MzPf/zY23/85OeD/Ozvg/zw84P+fn/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6Ojp/4uMkv9zdHn/bG1z/2ZnbP9gYWX/W1xg/1ZXW/9SU1b/Tk9S/0tM + T/9ISUz/RkdK/0RFR/9CQ0X/QUFE/z9AQv8+P0H/PT5A/z09P/88PT//Ozw+/zs8Pv87Oz3/Ozs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/89PkD/Pj5B/z8/ + Qv9AQUP/QUJF/0NERv9FRkj/R0hL/0pLTv9NTlH/UFFU/1RVWf9ZWV3/XV5j/2NkaP9pam//cHF2/3d4 + fv+5ub3//v7+//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1dX + 5P85OeD/ODjg/zY23/8zM9//MTHe/y8v3v8tLd7OLi7e/zAw3v8yMt//NTXf/zg43/86OuD/Ozvg/56e + 8P////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////7+/v/r7C0/3Z3 + ff9vcHb/aWpv/2NkaP9dXmP/WVpd/1RVWf9RUVX/TU5R/0pLTv9ISEv/RkZJ/0RER/9CQ0X/QUFE/z9A + Qv8+P0H/PT5A/z09QP88PT//PDw//zs8Pv87PD7/Ozw+/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozw+/zs8 + Pv87PD7/PDw+/zw9P/88PT//PT5A/z4+Qf8/P0L/QEFD/0FCRP9DQ0b/REVI/0dHSv9JSk3/TExP/09Q + U/9SU1f/Vldb/1tcYP9gYWX/Zmdr/2xtcv9yc3n/hoeN/+Dg4f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////k5Pv/Vlbk/zg44P83N9//NTXf/zIy3/8wMN7/Li7e/yws + 3s4uLt7/Ly/e/zEx3v80NN//Nzff/zk54P86OuD/np7w//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////d3d//hYaM/3Jzef9sbXL/Zmds/2BhZv9bXGD/V1hc/1NU + V/9PUFT/TE1Q/0pKTf9HSEv/RUZJ/0NER/9CQ0X/QUFE/0BAQ/8/P0H/Pj5B/z0+QP89PT//PD0//zw9 + P/88PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw//zw9P/88PT//PT5A/z0+QP8+P0H/P0BC/0BB + Q/9BQkT/Q0NG/0RFSP9GR0r/SElM/0tMT/9OT1L/UVJV/1VWWf9ZWl7/Xl9j/2NkaP9pam//cHF2/3Z3 + ff+srbH/+vr6//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Tk + +/9VVeT/Nzff/zY23/80NN//MjLf/y8v3v8tLd7/Kyvdzi0t3v8uLt7/MTHe/zMz3/81Nd//ODjf/zk5 + 4P+dnfD///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////n5 + +v+rrLD/dnd9/3Bxdv9pam//ZGVp/15fZP9aW1//VlZa/1JTVv9PT1P/TE1Q/0lKTf9HSEv/RUZJ/0NE + R/9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+Qf89PkD/PT5A/zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/89PUD/PT5A/z0+QP8+P0H/Pz9C/z9AQv9AQUP/QUJF/0NDRv9ERUj/RkdJ/0hJTP9KS07/TU5R/1BR + VP9UVFj/V1hc/1xdYf9hYmb/Zmds/21uc/9zdHn/hYaM/9zc3v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/1RU5P82Nt//NTXf/zMz3/8xMd7/Li7e/yws + 3v8qKt3OKyve/y0t3v8wMN7/MjLf/zQ03/82Nt//Nzff/52d7/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Dg4f+JipD/c3R6/21uc/9naG3/YmNn/11e + Yv9YWV3/VVZZ/1FSVv9OT1L/S0xP/0lKTf9HSEv/RUZJ/0RER/9CQ0b/QUJF/0BBQ/9AQEP/P0BC/z4/ + Qf8+P0H/Pj5B/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5A/z4+Qf8+P0H/Pz9C/z9AQv9AQUP/QUJE/0JD + Rf9DREb/RUVI/0ZHSv9ISUz/SktO/01OUf9QUVT/U1RX/1dXW/9bW2D/X2Bk/2Rlav9qa3D/cHF3/3d4 + fv+xsrb/+vr6//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///k5Pv/U1Pk/zU13/80NN//MjLf/zAw3v8tLd7/Kyvd/ykp3c4qKt3/LCze/y4u3v8xMd7/MzPf/zU1 + 3/82Nt//nJzv//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f39/7y8wP96e4H/cXJ4/2tscf9lZmv/YGFm/1xdYf9YWV3/VFVZ/1FSVf9OT1L/TExQ/0lK + Tf9HSEv/RkdJ/0RFSP9DREb/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/P0BC/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/P0BC/0BAQ/9AQUP/QUJE/0JCRf9DQ0b/RERH/0VGSf9HR0r/SElM/0pLTv9NTlH/T1BU/1JT + V/9WV1r/Wltf/15fY/9jZGj/aGlu/25vdf90dXr/kJGW/+fo6f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tk+/9TU+T/NDTf/zMz3/8xMd7/Ly/e/yws + 3v8qKt3/KCjdzikp3f8rK97/LS3e/zAw3v8yMt//NDTf/zU13/+bm+////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////7+/w/5ydov91dnz/cHF2/2pr + cP9kZWr/YGFl/1tcYP9XWFz/VFVZ/1FSVf9OT1L/TE1Q/0pLTv9ISUz/R0dK/0VGSf9ERUj/Q0RG/0JD + Rf9CQkX/QUJE/0FCRP9AQUT/QEFD/0BBQ/9AQUP/QEFD/0FBRP9BQkT/QUJF/0JDRf9DQ0b/RERH/0VF + SP9GR0n/R0hL/0lKTf9LTE//TU5R/1BRVP9TU1f/Vlda/1laXv9dXmP/YmNn/2dobf9tbnP/cnN5/3+A + hv/Kys3//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1JS5P8zM9//MjLf/zAw3v8uLt7/Kyve/ykp3f8nJ93OKCjd/yoq3f8sLN7/Ly/e/zEx + 3v8zM9//NDTf/5yc7/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////3t7f/4yNkf90dXv/bnB1/2lqb/9kZWn/X2Bl/1tcYP9YWFz/VFVZ/1JS + Vv9PUFP/TU5R/0tMT/9JSk3/SEhL/0ZHSv9FRkn/REVI/0RER/9DREf/Q0RG/0JDRv9CQ0X/QkNF/0JD + Rf9CQ0X/QkNG/0NERv9DREf/REVI/0VGSP9GR0n/R0hL/0hJTP9KS07/TE1Q/05PUv9QUVT/U1RX/1ZX + W/9ZWl7/XV5i/2JjZ/9mZ2z/bG1y/3FyeP95eoD/srO2//j5+P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////k5Pv/UVHj/zIy3/8xMd7/Ly/e/y0t + 3v8rK93/KCjd/yYm3c4nJ93/KSnd/ysr3v8uLt7/MDDe/zIy3/8zM9//jY3t/+Xl+//k5Pv/5OT7/+Xl + +//l5fv/5eX7/+bm+//m5vv/5ub7/+fn+//n5/v/5+f7/+fn+//o6Pv/6Oj7/+jo+//p6fv/6en8/+np + /P/q6vz/6ur8/+rq/P/r6/z/6+v8/+vr/P/r6/z/7Oz8/+zs/P/s7Pz/7e38/+3t/P/s7Pv/ubnK/31+ + h/9zdXr/bm90/2lqbv9kZWn/X2Bl/1xdYf9YWV3/VVZa/1JTV/9QUVT/Tk9S/0xNUP9LS07/SUpN/0hJ + TP9HSEv/RkdK/0ZGSf9FRkn/RUVI/0RFSP9ERUj/REVI/0VFSP9FRkj/RUZJ/0ZHSf9HR0r/SEhL/0hJ + TP9KS07/S0xP/01OUf9PUFP/UVJV/1RVWP9XV1v/Wltf/11eY/9iY2f/Zmds/2tscf9xcnf/dnd9/5KT + of/c3Oz/7u79/+3t/P/s7Pz/7Oz8/+zs/P/r6/z/6+v8/+vr/P/r6/z/6ur8/+rq/P/q6vz/6en8/+np + /P/p6fv/6Oj7/+jo+//o6Pv/5+f7/+fn+//n5/v/5+f7/+bm+//m5vv/5ub7/+Xl+//l5fv/5eX7/+Tk + +//k5Pv/5eX7/8zM9/9MTOP/MDDe/zAw3v8tLd7/Kyve/ykp3f8nJ93/JSXdziYm3f8oKN3/Kird/y0t + 3v8vL97/MTHe/zMz3/9DQ+H/UlLk/1RU5P9WVuT/WFjl/1pa5f9cXOX/Xl7m/2Bg5v9iYub/ZGTn/2Zm + 5/9oaOf/amrn/2xs6P9ubuj/cHDo/3Jy6f90dOn/dnbp/3h46v95eer/e3vq/3196v9/f+v/gYHr/4OD + 6/+Fhez/hobs/4iI7P+Kiuz/i4vt/42N7f+Li+n/f4C3/3l6hP9zdHn/bm90/2lqb/9kZWr/YGFl/11d + Yv9ZWl7/Vldb/1RVWP9RUlb/T1BU/05PUv9MTVD/S0xP/0pLTv9JSk3/SElM/0hIS/9HSEv/R0hL/0dI + Sv9HSEv/R0hL/0hIS/9ISUz/SUlM/0lKTf9KS07/TExP/01OUf9PT1P/UVFV/1NTV/9VVln/WFlc/1tc + YP9eX2P/YmNo/2ZnbP9rbHH/cHJ3/3Z4fP98fZf/hITX/42N7v+Li+3/iors/4iI7P+Ghuz/hITs/4OD + 6/+Bgev/f3/r/3196v97e+r/enrq/3h46v92dun/dHTp/3Jy6f9wcOj/bm7o/2xs6P9qauf/aGjn/2Zm + 5/9kZOf/YmLm/2Bg5v9eXub/XFzl/1pa5f9YWOX/Vlbk/1VV5P9TU+T/TU3j/zc33/8xMd7/Ly/e/yws + 3v8qKt3/KCjd/yYm3f8kJNzOJSXd/ycn3f8pKd3/Kyve/y4u3v8wMN7/MjLf/zMz3/80NN//Nzff/zk5 + 4P87O+D/PT3g/0BA4f9CQuH/RETh/0dH4v9JSeL/S0vj/05O4/9QUOP/UlLk/1RU5P9WVuT/WVnl/1tb + 5f9dXeX/X1/m/2Fh5v9kZOb/Zmbn/2ho5/9qauf/bGzo/25u6P9wcOj/cnLp/3R06f92dun/eHjq/3p6 + 6/98fOX/fX6y/3l6g/9zdXr/bm91/2lqb/9lZmv/YWJn/15fY/9bXGD/WFld/1VWWv9TVFj/UVJW/1BR + VP9OT1L/TU5R/0xNUP9LTE//S0xP/0pLTv9KS07/SktO/0pLTv9KS07/S0tO/0tMT/9MTVD/TU5R/05P + Uv9PUFP/UVFV/1JTV/9UVVn/V1hb/1laXv9cXWH/X2Bl/2Nkaf9naG3/bG1y/3Fyd/92eHz/fH2U/3x9 + 0f96euv/eHjq/3Z26f90dOn/cnLp/3Bw6P9ubuj/bGzo/2pq5/9oaOf/Zmbn/2Rk5v9iYub/X1/m/11d + 5f9bW+X/WVnl/1dX5P9VVeT/UlLk/1BQ4/9OTuP/S0vj/0lJ4v9HR+L/RUXi/0JC4f9AQOH/Pj7g/zw8 + 4P85OeD/Nzff/zQ03/8yMt//MTHe/zAw3v8uLt7/Kyve/ykp3f8nJ93/JSXc/yMj3M4kJNz/Jibd/ygo + 3f8qKt3/LCze/y8v3v8xMd7/MzPf/zU13/83N9//OTng/zs74P89PeD/QEDh/0JC4f9EROH/R0fi/0lJ + 4v9LS+P/TU3j/1BQ4/9RUeT/VFTk/1ZW5P9YWOX/Wlrl/11d5f9eXub/YWHm/2Nj5v9lZef/Z2fn/2lp + 5/9ra+j/bW3o/29v6P9xcen/c3Pp/3V16f92dun/eHjq/3p66/98fOT/fX21/3p7hf90dXr/b3B2/2ts + cf9mZ2z/Y2Ro/19gZf9dXWL/Wltf/1hZXP9WVlr/VFVY/1JTV/9RUlX/UFFU/09QU/9PT1P/Tk9S/05P + Uv9OTlL/Tk5S/05PUv9OT1L/T1BT/1BQVP9RUVX/UlJW/1NUV/9VVVn/Vldb/1laXv9bXGD/Xl9j/2Fi + Z/9lZmr/aWpu/21uc/9yc3j/d3h9/3t8mP98fNL/enrq/3h46v93d+n/dHTp/3Nz6f9xcen/b2/o/21t + 6P9ra+j/aWnn/2dn5/9lZef/Y2Pm/2Fh5v9fX+b/XV3l/1tb5f9YWOX/Vlbk/1RU5P9SUuT/T0/j/05O + 4/9LS+P/SUni/0dH4v9FReL/QkLh/0BA4f8+PuD/PDzg/zo64P83N9//NTXf/zMz3/8wMN7/Li7e/yws + 3v8qKt3/KCjd/yYm3f8kJNz/IiLcziMj3P8lJdz/Jyfd/ykp3f8rK97/LS3e/y8v3v8xMd7/NDTf/zU1 + 3/84ON//Ojrg/zw84P8+PuH/QUHh/0ND4f9FReL/SEji/0lJ4v9MTOP/Tk7j/1BQ4/9SUuT/VFTk/1ZW + 5P9ZWeX/W1vl/11d5f9fX+b/YWHm/2Nj5v9lZef/Z2fn/2lp5/9ra+j/bW3o/29v6P9wcOj/cnLp/3R0 + 6f92dun/d3fq/3l56v97e+b/fH28/3p7iv92d3z/cXJ3/2xtc/9pam7/ZWZr/2JjZ/9fYGT/XV1i/1pb + X/9YWV3/V1hc/1VWWv9UVVn/U1RY/1NUV/9SU1b/UlNW/1JSVv9SUlb/UlNW/1JTV/9TVFf/VFVY/1VW + Wf9WV1v/WFhc/1laXv9bXGD/Xl9j/2BhZv9jZGn/Z2hs/2prcP9vcHX/c3R5/3h5gP98fZ//e3vW/3l5 + 6/93d+r/dnbp/3R06f9ycun/cHDo/25u6P9tbej/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/11d + 5f9bW+X/WVnl/1dX5P9VVeT/UlLk/1BQ4/9OTuP/TEzj/0lJ4v9HR+L/RUXi/0ND4f9BQeH/Pj7h/zw8 + 4P86OuD/ODjg/zY23/80NN//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj3P8hIdzOIiLc/yQk + 3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw3v8yMt//NDTf/zY23/85OeD/Ojrg/z094P8/P+H/QUHh/0ND + 4f9GRuL/SEji/0pK4v9MTOP/Tk7j/1BQ4/9SUuT/VFTk/1dX5P9ZWeX/W1vl/11d5f9fX+b/YWHm/2Nj + 5v9lZef/Zmbn/2ho5/9ra+j/bGzo/25u6P9wcOj/cnLp/3Nz6f91den/dnbp/3h46v95eej/e3zK/3t8 + l/94eX7/c3R5/29wdf9rbHH/aGlt/2Vmav9iY2j/YGFl/15fY/9cXWH/Wltf/1laXv9YWV3/V1hc/1dY + W/9WV1v/Vldb/1ZXW/9XV1v/V1hc/1hZXP9ZWV3/Wltf/1tcYP9dXmL/X19k/2FiZv9jZGn/Zmds/2lq + b/9tbnP/cXJ3/3V2e/96e4b/e3yv/3p63v94eOr/dnbp/3V16f9zc+n/cnLp/3Bw6P9ubuj/bGzo/2pq + 5/9oaOf/Z2fn/2Vl5/9jY+b/YWHm/19f5v9dXeX/W1vl/1lZ5f9XV+T/VVXk/1JS5P9QUOP/Tk7j/0xM + 4/9KSuL/SEji/0ZG4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zg44P83N9//NDTf/zIy3/8wMN7/Li7e/yws + 3v8pKd3/KCjd/yYm3f8kJNz/ISHc/yAg3M4hIdz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Ly/e/zEx + 3v8zM9//NTXf/zc33/85OeD/Ozvg/z094P8/P+H/QkLh/0RE4f9GRuL/SEji/0pK4v9MTOP/Tk7j/1FR + 4/9SUuT/VFTk/1dX5P9ZWeX/W1vl/1xc5f9fX+b/YWHm/2Ji5v9kZOf/Zmbn/2ho5/9qauf/bGzo/21t + 6P9vb+j/cHDo/3Jy6f9zc+n/dXXp/3Z26v94eOr/enrZ/3t8q/96e4f/dnd8/3JzeP9ub3T/a2xx/2hp + bv9mZ2v/Y2Rp/2JjZ/9gYWX/X2Bk/11eY/9dXmL/XF1h/1xdYf9cXGH/XFxh/1xdYf9cXWH/XV5i/15f + Y/9fYGX/YWJm/2JjaP9kZWr/Z2ht/2prcP9tbnP/cHF2/3R1ev94eX//e3yW/3p7w/94eOX/dnbq/3V1 + 6f9zc+n/cnLp/3Bw6P9vb+j/bW3o/2xs6P9qauf/aGjn/2Zm5/9kZOf/YmLm/2Fh5v9fX+b/XV3l/1tb + 5f9ZWeX/V1fk/1VV5P9TU+T/UVHj/09P4/9NTeP/S0vi/0hI4v9GRuL/RETh/0JC4f9AQOH/PT3g/zs7 + 4P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ygo3f8mJt3/JCTc/yIi3P8gINz/Hx/cziAg + 3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr3f8tLd7/Ly/e/zEx3v80NN//Njbf/zg43/86OuD/PDzg/z4+ + 4P9AQOH/QkLh/0RE4f9GRuL/SEji/0pK4v9NTeP/T0/j/1BQ4/9SUuT/VVXk/1dX5P9YWOX/Wlrl/1xc + 5f9eXub/YGDm/2Ji5v9kZOb/Zmbn/2dn5/9paef/amro/2xs6P9ubuj/b2/o/3Fx6f9ycun/dHTp/3V1 + 6f92dur/eHjl/3p7yP97fJz/eXqD/3Z3e/9yc3j/b3B1/2xtc/9qa3D/aGlu/2ZnbP9lZmr/ZGRp/2Nk + aP9iY2j/YmNn/2FiZ/9hYmf/YmNn/2JjaP9jZGn/ZGVq/2Vma/9naG3/aWpv/2tscf9ub3T/cHJ3/3R1 + ev93eX7/enuN/3t7sf95edr/dnbq/3V16v90dOn/c3Pp/3Fx6f9vb+j/bm7o/2xs6P9ra+j/aWnn/2dn + 5/9mZuf/ZGTm/2Ji5v9gYOb/Xl7m/1xc5f9aWuX/WVnl/1dX5P9UVOT/UlLk/1FR4/9PT+P/TU3j/0tL + 4v9JSeL/Rkbi/0RE4f9CQuH/QEDh/z4+4P88POD/Ojrg/zg43/82Nt//NDTf/zIy3/8vL97/LS3e/ysr + 3v8pKd3/Jyfd/yUl3f8jI9z/ISHc/x8f3P8eHtvOHx/c/yAg3P8iItz/JCTc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zIy3/80NN//Njbf/zg44P86OuD/PDzg/z4+4f9AQOH/QkLh/0VF4v9HR+L/SUni/0tL + 4/9NTeP/T0/j/1FR4/9SUuT/VVXk/1ZW5P9YWOX/Wlrl/1xc5f9eXub/YGDm/2Fh5v9jY+b/ZWXn/2dn + 5/9oaOf/amrn/2tr6P9tbej/bm7o/3Bw6P9xcen/cnLp/3R06f91der/dnbq/3d43/96esH/e3yc/3l7 + hf93eH3/dHV6/3FyeP9vcHX/bW5z/2xtcv9qa3D/aWpv/2lqb/9oaW7/aGlu/2hpbv9oaW7/aWpv/2pr + cP9rbHH/bG1z/25vdP9wcXb/c3R5/3V2e/94eYD/enuO/3p7rv94edP/dnbn/3V16v9zc+n/c3Pp/3Fx + 6f9wcOj/bm7o/21t6P9ra+j/amrn/2ho5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/15e5f9cXOX/Wlrl/1hY + 5f9WVuT/VFTk/1JS5P9QUOP/Tk7j/01N4/9LS+L/SUni/0dH4v9FReL/Q0Ph/0BA4f8+PuH/PDzg/zo6 + 4P84OOD/Njbf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo3f8mJt3/JCTc/yIi3P8gINz/Hh7b/xwc + 284dHdv/Hx/c/yEh3P8iItz/JCTc/ycn3f8pKd3/Kyvd/yws3v8vL97/MDDe/zIy3/81Nd//Njbf/zk5 + 4P87O+D/PT3g/z4+4f9AQOH/Q0Ph/0VF4v9HR+L/SUni/0tL4/9NTeP/T0/j/1FR4/9TU+T/VFTk/1ZW + 5P9YWOX/Wlrl/1xc5f9eXuX/X1/m/2Fh5v9jY+b/ZGTm/2Zm5/9nZ+f/aWnn/2pq5/9sbOj/bW3o/25u + 6P9wcOj/cXHp/3Jy6f9zc+n/dHTq/3V16v93d+D/eXnI/3p7qv96e5H/eXqD/3d4ff91dnv/c3R5/3Jz + eP9xcnf/cHF2/29xdv9vcHb/b3B2/3Bxdv9wcXf/cXJ4/3N0ef90dXr/dnd8/3h5gP96e4n/enuc/3l6 + uf93d9b/dXXn/3R06v9zc+n/cnLp/3Fx6f9wcOj/bm7o/21t6P9sbOj/amrn/2lp5/9nZ+f/ZWXn/2Rk + 5v9iYub/YWHm/19f5v9dXeX/XFzl/1pa5f9YWOX/Vlbk/1RU5P9SUuT/UFDj/09P4/9NTeP/S0vi/0hI + 4v9HR+L/RUXi/0ND4f9BQeH/Pj7h/z094P87O+D/OTng/zc33/81Nd//MzPf/zAw3v8uLt7/LCze/ysr + 3f8pKd3/Jibd/yQk3P8iItz/ICDc/x8f3P8dHdv/Gxvbyxwc2/8eHtv/ICDc/yEh3P8jI9z/JSXd/ycn + 3f8pKd3/Kyvd/y0t3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF + 4v9HR+L/SUni/0pK4v9NTeP/Tk7j/1BQ4/9SUuT/VFTk/1ZW5P9YWOX/WVnl/1tb5f9dXeX/Xl7m/2Bg + 5v9iYub/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Fx6P9ycun/cnLp/3Nz + 6v90dOr/dXXn/3d32f94ecb/enqx/3p7nf96e5D/enuI/3l6g/94eYH/eHl//3h5fv94eX//eHmA/3l6 + gv95eoX/enuM/3p7lf96e6b/eXm7/3d40P92duH/dHTp/3Nz6v9ycun/cXHp/3Bw6P9vb+j/bm7o/21t + 6P9sbOj/amrn/2lp5/9nZ+f/Zmbn/2Vl5/9jY+b/YWHm/2Bg5v9eXub/XV3l/1tb5f9ZWeX/V1fl/1ZW + 5P9UVOT/UlLk/1BQ4/9PT+P/TU3j/0tL4v9JSeL/R0fi/0VF4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zk5 + 4P83N9//NTXf/zMz3/8xMd7/Ly/e/y0t3v8rK93/KSnd/ycn3f8lJd3/IyPc/yIi3P8gINz/Hh7b/xwc + 2/8aGtvAGxvb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyve/y0t3v8vL97/MTHe/zMz + 3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+L/SEji/0pK4v9MTOP/Tk7j/1BQ + 4/9SUuT/VFTk/1VV5P9XV+T/WVnl/1pa5f9cXOX/Xl7l/19f5v9hYeb/YmLm/2Rk5v9lZef/Z2fn/2ho + 5/9paef/amrn/2tr6P9sbOj/bW3o/25u6P9wcOj/cHDo/3Fx6f9ycun/cnLq/3Nz6v90dOj/dXXi/3Z2 + 2/93d9H/d3jH/3h5wP94ebz/eHm4/3l5uv94eb7/eHjD/3d4zP92dtb/dXXf/3R05v9zc+n/cnLq/3Jy + 6f9xcen/cHDo/29v6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp5/9nZ+f/Zmbn/2Vl5/9jY+b/YmLm/2Fh + 5v9fX+b/Xl7l/1xc5f9aWuX/WVnl/1dX5P9VVeT/VFTk/1JS5P9QUOP/Tk7j/0xM4/9KSuL/SEji/0ZG + 4v9FReL/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyve/yoq + 3f8nJ93/JSXd/yQk3P8iItz/ICDc/x4e2/8cHNv/Ghrb/xkZ26oaGtv1Gxvb/x0d2/8fH9z/ISHc/yIi + 3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u3v8wMN7/MjLf/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/ + 4f9BQeH/Q0Ph/0VF4v9GRuL/SEji/0pK4v9MTOP/Tk7j/09P4/9RUeT/U1Pk/1VV5P9WVuT/WFjl/1pa + 5f9bW+X/XV3l/15e5v9gYOb/YWHm/2Ji5v9kZOf/ZWXn/2Zm5/9nZ+f/aGjn/2lp5/9ra+j/bGzo/2xs + 6P9tbej/bm7o/29v6P9vb+j/cHDo/3Fx6f9xcen/cXHq/3Jy6v9ycur/cnLq/3Jy6v9ycur/cnLq/3Jy + 6v9ycur/cnLq/3Fx6v9xcen/cHDp/3Bw6P9wcOj/b2/o/25u6P9tbej/bW3o/2tr6P9qauf/amrn/2lp + 5/9nZ+f/Zmbn/2Vl5/9kZOb/YmLm/2Fh5v9gYOb/Xl7m/11d5f9bW+X/WVnl/1hY5f9XV+T/VVXk/1NT + 5P9RUeT/UFDj/05O4/9MTOP/Skri/0hI4v9HR+L/RUXi/0ND4f9BQeH/Pz/h/z094P87O+D/OTng/zc3 + 3/81Nd//MzPf/zEx3v8wMN7/Li7e/yws3v8qKt3/KCjd/yYm3f8kJNz/IiLc/yEh3P8fH9z/HR3b/xsb + 2/8ZGdv7GBjahhkZ284aGtv/HBzb/x4e2/8fH9z/ISHc/yMj3P8lJdz/Jyfd/ygo3f8qKt3/LCze/y4u + 3v8wMN7/MjLf/zQ03/82Nt//Nzff/zo64P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9GRuL/SEji/0pK + 4v9MTOP/TU3j/09P4/9RUeP/U1Pk/1RU5P9VVeT/V1fk/1hY5f9aWuX/XFzl/11d5f9eXub/YGDm/2Fh + 5v9iYub/Y2Pm/2Vl5/9mZuf/Z2fn/2ho5/9paef/amrn/2tr6P9ra+j/bGzo/2xs6P9tbej/bW3o/25u + 6P9ubuj/b2/o/29v6P9vb+j/b2/o/29v6P9vb+j/b2/o/29v6P9ubuj/bm7o/25u6P9ubuj/bW3o/2xs + 6P9sbOj/a2vo/2pq5/9qauf/aWnn/2ho5/9nZ+f/Zmbn/2Rk5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d + 5f9cXOX/Wlrl/1lZ5f9XV+T/Vlbk/1RU5P9TU+T/UVHj/09P4/9OTuP/TEzj/0pK4v9ISOL/Rkbi/0RE + 4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zk54P83N9//NTXf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo + 3f8nJ93/JSXc/yMj3P8hIdz/Hx/c/x0d2/8bG9v/Ghrb/xgY2vEXF9pZGBjakBkZ2/waGtv/HBzb/x4e + 2/8fH9z/ISHc/yMj3P8lJd3/Jyfd/ykp3f8qKt3/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0RE4f9GRuL/SEji/0pK4v9LS+P/TU3j/09P4/9QUOP/UlLk/1NT + 5P9VVeT/Vlbk/1dX5f9ZWeX/W1vl/1xc5f9dXeX/Xl7m/2Bg5v9hYeb/YmLm/2Nj5v9kZOb/ZWXn/2Zm + 5/9nZ+f/aGjn/2lp5/9paef/aWnn/2pq5/9qauj/a2vo/2tr6P9ra+j/bGzo/2xs6P9sbOj/bGzo/2xs + 6P9sbOj/bGzo/2xs6P9ra+j/a2vo/2tr6P9qauf/aWnn/2lp5/9oaOf/Z2fn/2dn5/9mZuf/ZWXn/2Rk + 5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d5f9cXOX/W1vl/1lZ5f9YWOX/Vlbk/1VV5P9TU+T/UlLk/1BQ + 4/9OTuP/TU3j/0tL4/9JSeL/SEji/0ZG4v9EROH/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zY2 + 3/80NN//MjLf/zAw3v8uLt7/LCze/yoq3f8pKd3/Jyfd/yUl3f8kJNz/ISHc/yAg3P8eHtv/HBzb/xoa + 2/8ZGdv/Fxfa1xcX2ioXF9pKGBja6RkZ2/8bG9v/HR3b/x4e2/8gINz/IiLc/yQk3P8lJd3/Jyfd/ykp + 3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk54P87O+D/PT3g/z8/4f9AQOH/QkLh/0RE + 4f9GRuL/R0fi/0lJ4v9LS+L/TEzj/05O4/9PT+P/UVHj/1JS5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1pa + 5f9cXOX/XV3l/15e5v9fX+b/YGDm/2Fh5v9iYub/Y2Pm/2Rk5v9lZef/ZWXn/2Zm5/9nZ+f/Z2fn/2dn + 5/9oaOf/aGjn/2lp5/9paef/aWnn/2lp5/9paef/aWnn/2lp5/9paef/aWnn/2ho5/9oaOf/aGjn/2dn + 5/9nZ+f/Zmbn/2Vl5/9lZef/ZGTm/2Nj5v9iYub/YWHm/2Bg5v9fX+b/Xl7m/11d5f9cXOX/W1vl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/UlLk/1FR4/9PT+P/Tk7j/0xM4/9KSuL/SUni/0dH4v9FReL/RETh/0JC + 4f9BQeH/Pz/h/z094P87O+D/Ojrg/zc33/82Nt//NDTf/zIy3/8wMN7/Li7e/y0t3v8rK93/KSnd/ycn + 3f8lJd3/IyPc/yIi3P8gINz/Hh7b/x0d2/8bG9v/GRnb/xgY2v8XF9qhFhbaChYW2hQXF9q2GBja/xkZ + 2/8bG9v/HR3b/x8f3P8gINz/IiLc/yQk3P8lJd3/Jyfd/ykp3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ0 + 3/82Nt//Nzff/zk54P87O+D/PT3g/z4+4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9KSuL/S0vj/01N + 4/9OTuP/UFDj/1FR5P9TU+T/VFTk/1VV5P9XV+T/WFjl/1lZ5f9aWuX/W1vl/1xc5f9dXeX/X1/m/2Bg + 5v9gYOb/YWHm/2Ji5v9iYub/Y2Pm/2Rk5v9kZOb/ZGTn/2Vl5/9mZuf/Zmbn/2Zm5/9mZuf/Zmbn/2Zm + 5/9mZuf/Zmbn/2Zm5/9mZuf/ZWXn/2Vl5/9lZef/ZGTn/2Rk5v9kZOb/Y2Pm/2Ji5v9hYeb/YGDm/19f + 5v9eXub/XV3l/11d5f9cXOX/Wlrl/1lZ5f9YWOX/V1fk/1ZW5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/01N + 4/9LS+P/Skri/0hI4v9HR+L/RUXi/0RE4f9CQuH/QEDh/z4+4f89PeD/Ozvg/zk54P83N9//Njbf/zQ0 + 3/8yMt//MDDe/y4u3v8tLd7/Kyvd/ykp3f8nJ93/Jibd/yQk3P8iItz/ICDc/x4e2/8dHdv/Gxvb/xoa + 2/8YGNr/Fxfa8xYW2lcXF9oAFxfaABYW2l8XF9r1GBjb/xoa2/8cHNv/HR3b/x8f3P8hIdz/IyPc/yQk + 3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8wMN7/MjLf/zQ03/81Nd//Nzff/zk54P87O+D/PDzg/z4+ + 4P9AQOH/QUHh/0ND4f9FReL/Rkbi/0hI4v9JSeL/S0vi/0xM4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1RU + 5P9VVeT/V1fk/1dX5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/11d5f9eXub/X1/m/19f5v9gYOb/YWHm/2Fh + 5v9iYub/YmLm/2Ji5v9iYub/Y2Pm/2Nj5v9jY+b/Y2Pm/2Nj5v9jY+b/Y2Pm/2Nj5v9jY+b/YmLm/2Ji + 5v9hYeb/YWHm/2Bg5v9gYOb/X1/m/15e5v9dXeX/XFzl/1xc5f9bW+X/Wlrl/1lZ5f9YWOX/V1fk/1ZW + 5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/01N4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0RE4v9DQ+H/QUHh/0BA + 4f8+PuD/PDzg/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/ysr3f8pKd3/KCjd/yYm + 3f8kJNz/IyPc/yEh3P8fH9z/HR3b/xsb2/8aGtv/GRnb/xcX2v8WFtq9FRXaFxYW2gAVFdoAFRXaFxYW + 2rcXF9r/GRnb/xoa2/8cHNv/HR3b/x8f3P8hIdz/IiLc/yQk3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u + 3v8wMN7/MjLf/zMz3/81Nd//Nzff/zk54P86OuD/PDzg/z4+4P8/P+H/QUHh/0JC4f9EROH/RUXi/0dH + 4v9ISOL/Skri/0tL4/9MTOP/Tk7j/09P4/9RUeP/UVHk/1JS5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ + 5f9aWuX/W1vl/1tb5f9cXOX/XV3l/11d5f9eXub/Xl7m/19f5v9fX+b/YGDm/2Bg5v9gYOb/YGDm/2Bg + 5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/15e5v9eXub/XV3l/11d5f9cXOX/XFzl/1tb + 5f9aWuX/WVnl/1hY5f9XV+T/Vlbk/1VV5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/05O4/9MTOP/S0vj/0pK + 4v9ISOL/R0fi/0VF4v9EROH/QkLh/0BA4f8/P+H/PT3g/zw84P86OuD/ODjg/zc33/81Nd//MzPf/zIy + 3/8wMN7/Li7e/y0t3v8rK93/KSnd/ycn3f8mJt3/JCTc/yIi3P8hIdz/Hx/c/x4e2/8cHNv/Ghrb/xgY + 2/8XF9r/Fhba8hUV2lwXF9oAFRXaABUV2gAWFtoAFRXaSxYW2ucXF9r/GRnb/xsb2/8cHNv/Hh7b/x8f + 3P8hIdz/IiLc/yQk3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8wMN7/MTHe/zMz3/81Nd//Nzff/zg4 + 4P86OuD/Ozvg/z094P8+PuH/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9HR+L/SUni/0pK4v9LS+P/TEzj/05O + 4/9PT+P/UFDj/1FR5P9SUuT/U1Pk/1RU5P9VVeT/Vlbk/1dX5P9XV+T/WFjl/1lZ5f9aWuX/Wlrl/1tb + 5f9cXOX/XFzl/1xc5f9dXeX/XV3l/11d5f9dXeX/Xl7l/15e5f9dXeX/XV3l/11d5f9dXeX/XV3l/1xc + 5f9cXOX/W1vl/1tb5f9aWuX/Wlrl/1lZ5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UlLk/1FR + 5P9QUOP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG4v9EROH/Q0Ph/0FB4f9AQOH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXf/zMz3/8xMd7/MDDe/y4u3v8tLd7/Kyvd/ykp3f8oKN3/Jibd/yQk + 3P8iItz/ISHc/x8f3P8dHdv/HBzb/xoa2/8ZGdv/Fxfa/xYW2v8VFdqkFRXaDxUV2gAAAAAAAAAAABUV + 2gAVFdoGFRXafxYW2vgXF9r/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ykp + 3f8rK93/LS3e/y4u3v8vL97/MTHe/zMz3/80NN//Njbf/zg44P85OeD/Ozvg/zw84P8+PuD/Pz/h/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0lJ4v9KSuL/TEzj/01N4/9OTuP/T0/j/1BQ4/9RUeP/UlLk/1JS + 5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1dX5P9XV+X/WFjl/1lZ5f9ZWeX/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9bW+X/Wlrl/1tb5f9aWuX/Wlrl/1pa5f9aWuX/WVnl/1lZ5f9ZWeX/WFjl/1hY5f9XV+T/Vlbk/1ZW + 5P9VVeT/VFTk/1NT5P9SUuT/UlLk/1FR4/9PT+P/Tk7j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG + 4v9FReL/RETh/0JC4f9AQOH/Pz/h/z4+4f89PeD/Ozvg/zk54P83N9//Njbf/zQ03/8zM9//MTHe/zAw + 3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY + 2v8WFtr/FRXazxQU2i8VFdoAExPaAAAAAAAAAAAAAAAAABQU2gAUFNoVFRXanxYW2vwYGNr/GRnb/xsb + 2/8cHNv/Hh7b/x8f3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ykp3f8rK93/LCze/y4u3v8vL97/MTHe/zMz + 3/80NN//Njbf/zc33/85OeD/Ojrg/zs74P89PeD/Pj7g/0BA4f9BQeH/QkLh/0RE4f9FReL/R0fi/0hI + 4v9JSeL/Skri/0tL4/9MTOP/TU3j/05O4/9PT+P/UFDj/1FR4/9RUeT/UlLk/1NT5P9UVOT/VFTk/1VV + 5P9VVeT/Vlbk/1ZW5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1hY5f9YWOX/WFjl/1hY5f9XV+X/WFjl/1dX + 5P9XV+T/Vlbk/1ZW5P9WVuT/VVXk/1RU5P9UVOT/U1Pk/1NT5P9SUuT/UVHj/1BQ4/9PT+P/Tk7j/01N + 4/9MTOP/S0vi/0pK4v9JSeL/R0fi/0ZG4v9FReL/RETh/0JC4f9BQeH/QEDh/z8/4f89PeD/PDzg/zo6 + 4P85OeD/Nzff/zU13/80NN//MjLf/zEx3v8vL97/Li7e/yws3v8qKt3/KSnd/ycn3f8mJt3/JCTc/yMj + 3P8hIdz/Hx/c/x4e2/8cHNv/Gxvb/xkZ2/8XF9r/Fhba/xUV2uAVFdpOCgrYABQU2gAAAAAAAAAAAAAA + AAAAAAAADw/ZABYW2gAVFdoeFhbaqBYW2vsYGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk + 3P8lJd3/Jyfd/ykp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy3/8zM9//NTXf/zY23/84ON//OTng/zs7 + 4P88POD/PT3g/z8/4f9AQOH/QUHh/0ND4f9EROH/RUXi/0ZG4v9ISOL/SEji/0lJ4v9KSuL/TEzj/0xM + 4/9NTeP/Tk7j/09P4/9QUOP/UVHj/1FR5P9SUuT/UlLk/1NT5P9TU+T/U1Pk/1RU5P9UVOT/VFTk/1RU + 5P9UVOT/VVXk/1VV5P9VVeT/VFTk/1VV5P9VVeT/VFTk/1RU5P9TU+T/U1Pk/1JS5P9SUuT/UVHk/1FR + 4/9QUOP/UFDj/09P4/9OTuP/TU3j/01N4/9LS+P/Skri/0lJ4v9ISOL/R0fi/0dH4v9FReL/RETh/0ND + 4f9BQeH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjf/zc33/81Nd//MzPf/zIy3/8wMN7/Ly/e/y0t + 3v8sLN7/Kird/ykp3f8nJ93/Jibd/yQk3P8iItz/ISHc/x8f3P8eHtv/HBzb/xsb2/8ZGdv/GBja/xYW + 2v8VFdriFRXaWxUV2gMVFdoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBTaABUV2gAVFdocFRXamhYW + 2vUYGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo3f8qKt3/Kyve/y0t + 3v8uLt7/MDDe/zEx3v8zM9//NDTf/zY23/83N9//OTng/zo64P87O+D/PDzg/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/RETh/0VF4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4v9LS+P/TEzj/01N4/9OTuP/Tk7j/09P + 4/9PT+P/UFDj/1BQ4/9RUeP/UVHj/1FR4/9RUeT/UlLk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UVHk/1JS + 5P9RUeT/UVHj/1FR4/9QUOP/UFDj/09P4/9PT+P/Tk7j/05O4/9MTOP/TEzj/0xM4/9LS+L/Skri/0lJ + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9BQeH/QEDh/z8/4f8+PuD/PDzg/zs74P86OuD/ODjg/zc3 + 3/82Nt//NDTf/zMz3/8xMd7/MDDe/y4u3v8tLd7/Kyve/yoq3f8oKN3/Jyfd/yUl3f8kJNz/IiLc/yEh + 3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa1hUV2lMVFdoEFRXaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAFhbaABUV2gAVFdoRFhbadBcX2uAYGNr/GRnb/xoa2/8cHNv/Hh7b/x8f + 3P8gINz/IiLc/yMj3P8lJdz/Jibd/ygo3f8pKd3/Kyvd/y0t3v8uLt7/Ly/e/zEx3v8yMt//NDTf/zU1 + 3/82Nt//ODjf/zk54P86OuD/Ozvg/zw84P8+PuD/Pz/h/0BA4f9BQeH/QkLh/0RE4f9EROH/RUXi/0ZG + 4v9HR+L/SEji/0hI4v9JSeL/Skri/0tL4v9LS+P/TEzj/01N4/9NTeP/TU3j/05O4/9OTuP/Tk7j/09P + 4/9PT+P/T0/j/09P4/9PT+P/T0/j/09P4/9PT+P/T0/j/05O4/9OTuP/Tk7j/01N4/9NTeP/TU3j/0xM + 4/9MTOP/S0vj/0pK4v9JSeL/SUni/0hI4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/ + 4f8+PuD/PDzg/zw84P86OuD/OTng/zg43/82Nt//NTXf/zMz3/8yMt//MTHe/y8v3v8uLt7/LCze/ysr + 3f8qKt3/KCjd/ycn3f8lJd3/IyPc/yIi3P8gINz/Hx/c/x4e2/8cHNv/Gxvb/xkZ2/8YGNr/Fxfa9xUV + 2rIVFdo4ExPaARQU2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW + 2gAWFtoFFxfaPBcX2qUYGNrsGRnb/xsb2/8cHNv/HR3b/x8f3P8gINz/ISHc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P85OeD/Ojrg/zs7 + 4P89PeD/PT3g/z8/4f9AQOH/QUHh/0JC4f9DQ+H/RETh/0VF4v9FReL/Rkbi/0dH4v9HR+L/SEji/0lJ + 4v9JSeL/Skri/0pK4v9LS+L/S0vj/0xM4/9MTOP/TEzj/0xM4/9MTOP/TEzj/0xM4/9MTOP/TEzj/0xM + 4/9MTOP/S0vj/0tL4/9LS+L/S0vi/0pK4v9KSuL/SUni/0lJ4v9ISOL/R0fi/0dH4v9GRuL/RUXi/0RE + 4f9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/4f8+PuD/PT3g/zw84P86OuD/OTng/zg44P83N9//NTXf/zQ0 + 3/8zM9//MjLf/zAw3v8vL97/LS3e/ysr3v8qKt3/KSnd/ycn3f8mJt3/JSXc/yMj3P8iItz/ICDc/x8f + 3P8dHdv/HBzb/xoa2/8ZGdv/GBja+hcX2tAWFtpvFRXaFxoa2wAUFNoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW2gAZGdsAFxfaDRgY2kgYGNubGRnb2Boa + 2/UcHNv+HR3b/x8f3P8gINz/ISHc/yMj3P8kJNz/JSXd/ycn3f8oKN3/Kird/ysr3f8sLN7/Li7e/y8v + 3v8wMN7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zo64P87O+D/PDzg/z094P8+PuD/Pz/h/0BA + 4f9BQeH/QkLh/0ND4f9DQ+H/RETh/0VF4v9GRuL/Rkbi/0ZG4v9HR+L/R0fi/0hI4v9ISOL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9JSeL/SUni/0pK4v9KSuL/SUni/0lJ4v9JSeL/SEji/0hI4v9ISOL/R0fi/0dH + 4v9GRuL/Rkbi/0VF4v9FReL/RETh/0ND4f9CQuH/QkLh/0FB4f9AQOH/Pz/h/z4+4f89PeD/PDzg/zw8 + 4P86OuD/OTng/zg43/83N9//Njbf/zQ03/8zM9//MjLf/zAw3v8wMN7/Li7e/yws3v8rK97/KSnd/ygo + 3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8eHtv/HR3b/xwc2/8bG9v7GRnb6hgY2r0XF9pyFhbaJRYW + 2gIWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUFNoAKirdABgY2gkZGdsuGhrbZhsb26AcHNvMHR3b6B4e2/YgINz+ISHc/yMj + 3P8kJNz/JSXd/ycn3f8oKN3/KSnd/ysr3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/80NN//NTXf/zU1 + 3/83N9//ODjg/zk54P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f9AQOH/QEDh/0FB4f9CQuH/QkLh/0ND + 4f9EROH/RETh/0VF4v9FReL/Rkbi/0ZG4v9GRuL/Rkbi/0dH4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0dH + 4v9HR+L/Rkbi/0ZG4v9GRuL/Rkbi/0VF4v9FReL/RUXi/0RE4f9DQ+H/Q0Ph/0JC4f9CQuH/QUHh/0BA + 4f8/P+H/Pz/h/z4+4P89PeD/PDzg/zs74P86OuD/OTng/zg44P83N9//Njbf/zU13/80NN//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yEh3P8gINz/Hh7b+x0d + 2/AcHNvcGxvbuRoa24MZGdtJFxfaFxcX2gIXF9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAA//wA + AAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAA + AA/AAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAA + AAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD/gA + AAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAA + Af//4AAAAAAAAAAAAAAAAAf/KAAAAMAAAACAAQAAAQAgAAAAAAAAQAIAnQQAAJ0EAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZABIS2QQSEtkZEhLZNxIS2WQSEtmTEhLZthIS2dUSEtnoEhLZ8xIS2fwSEtn/EhLZ/xIS + 2f8SEtn/EhLa/xIS2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xUV2v8WFtr/Fxfa/xcX2v8YGNr/GBja/xgY + 2/8ZGdv/Ghrb/xoa3P8aGt3/HBzZ/x8fy/8jJLX/KCie/ywsiP8vL3j/MDFw/zExbf8xMWz/MTJs/zEy + bP8xMmz/MjJt/zIybf8yMm3/MjJt/zIybf8yM23/MjNt/zMzbf8zM23/MzNt/zMzbf8zM23/MzNt/zMz + bf8zNG3/MzNt/zMzbf8zNG3/MzRt/zQ0bf80NG3/MzRt/zQ0bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ1 + bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ1bf80NW3/NDRt/zQ0bf80NG3/NDRt/zQ0 + bf80NG3/MzRt/zQ0bf80NG3/MzRt/zM0bf8zNG3/MzRt/zM0bf8zM23/MzNt/zMzbf8zM23/MzNt/zMz + bf8yM23/MjNt/zIybf8yMm3/MjJt/zIybf8yMmz/MjJt/zEybP8xMmz/MTJs/zExbP8xMWz/MDFv/y8v + dv8sLIP/KCmY/yQksP8gIMb/HBzW/xsb3f8bG9z/Ghrb/xkZ2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xYW + 2v8VFdr/FRXa/xQU2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn9EhLZ9RIS + 2esSEtnbEhLZvxIS2ZwSEtlxEhLZQhIS2R8SEtkIEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkPEhLZOBIS + 2XQSEtmtEhLZ1BIS2e8SEtn7EhLZ/hIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT + 2v8TE9r/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/Fxfa/xgY2v8ZGdv/GRnb/xoa2/8bG9v/Gxvc/x0d + 0/8iI7b/KiqO/zAxav81NVP/NzhF/zg5P/84OT3/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5PP84OT//NzhD/zY2 + Tv8yMmT/LCyE/yQkrP8eHs7/Gxvb/xoa2/8aGtv/GRnb/xgY2v8YGNr/GBja/xcX2v8WFtr/FRXa/xUV + 2v8UFNr/ExPa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fwSEtnzEhLZ3BIS2bgSEtmDEhLZRxIS2RYSEtkCEhLZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkBEhLZEBIS2UoSEtmcEhLZ2BIS2fYSEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8TE9r/ExPa/xQU2v8UFNr/FRXa/xUV + 2v8WFtr/Fxfa/xcX2v8YGNr/GRnb/xkZ2/8aGtv/Ghrb/xsb3P8dHdf/IyO1/y0tfP81NVL/ODk//zk6 + Of85Ojn/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zk6Ov85Ojn/OTk8/zY2 + S/8vL3D/JSWn/x0d0v8bG9z/Ghrb/xkZ2/8ZGdv/GBjb/xgY2v8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU + 2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn6EhLZ4hIS2a8SEtleEhLZGhIS2QISEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZABIS2QoSEtlEEhLZoRIS2eYSEtn8EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8UFNr/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/GBja/xgY + 2/8ZGdv/Ghrb/xoa2/8bG9v/Gxvc/x8fyf8qK4z/NTVR/zk5PP85Ojr/OTo7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov85Ojv/NjdI/y0u + e/8hIb3/Gxvb/xsb2/8aGtv/Ghrb/xkZ2/8YGNv/GBja/xcX2v8WFtr/Fhba/xUV2v8UFNr/FBTa/xMT + 2v8TE9r/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f4SEtnvEhLZuBIS2VkSEtkTEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkBEhLZIxIS + 2YISEtnaEhLZ/RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS + 2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xYW2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa2/8aGtv/Gxvb/xsb + 2/8dHdv/IiK//y8vdP84OEL/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zg5Pf8yMmP/JSWu/xwc + 2f8bG9z/Gxvb/xoa2/8ZGdv/GBjb/xgY2v8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU2v8UFNr/FBTa/xMT + 2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2egSEtmbEhLZOBIS2QMSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2QUSEtlBEhLZsxIS2fYSEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8TE9r/FBTa/xUV + 2v8WFtr/Fhba/xcX2v8XF9r/GBja/xkZ2/8aGtv/Ghrb/xsb2/8cHNv/HBzc/x0d2v8kJLP/MjJl/zk5 + Pf85Ojv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/NDVV/ycnof8dHdb/HBzc/xsb + 2/8aGtv/GRnb/xkZ2/8YGNv/GBja/xcX2v8WFtr/FRXa/xUV2v8VFdr/FBTa/xMT2v8TE9r/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn6EhLZzBIS + 2VsSEtkMEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZChIS2WASEtnUEhLZ/RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU2v8UFNr/FRXa/xYW2v8WFtr/Fxfa/xgY + 2v8YGNv/GRnb/xoa2/8bG9v/Gxvb/xwc2/8dHdv/Hh7c/yUltf8zNF3/OTo6/zk6O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zY2Tf8nKKD/HR3Z/xwc3P8cHNv/Gxvb/xoa + 2/8aGtv/GRnb/xkZ2/8XF9r/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2eYSEtl/EhLZFxIS + 2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS + 2QASEtkPEhLZbRIS2eISEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8SEtr/EhLa/xMT2v8TE9r/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/GBjb/xkZ2/8aGtv/Ghrb/xsb + 2/8cHNv/HR3b/x0d2/8eHtz/IyPD/zIyaf85OTz/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov80NVb/JSav/x4e2/8dHdv/HBzb/xsb2/8bG9v/Ghrb/xkZ + 2/8ZGdv/GBjb/xcX2v8WFtr/Fhba/xUV2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnvEhLZkBIS2RwSEtkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2QsSEtlxEhLZ5hIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU + 2v8UFNr/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa2/8bG9v/HBzb/xwc2/8dHdv/Hh7b/x8f + 3f8hIs7/Ly97/zg5Pv85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/MjNj/yMjwf8eHtz/HR3b/x0d2/8cHNv/Gxvb/xoa2/8aGtv/GRnb/xgY + 2/8XF9r/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ9BIS2ZQSEtkaEhLZABIS2QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZBxIS2WYSEtnkEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xQU2v8WFtr/Fhba/xcX + 2v8XF9r/GBjb/xkZ2/8aGtv/Gxvb/xsb2/8cHNv/HR3b/x0d2/8eHtv/Hx/c/yAg2/8qKpz/NzhF/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk9/y4ugv8hIdX/Hx/c/x4e2/8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8ZGdv/GBja/xcX + 2v8XF9r/Fhba/xUV2v8UFNr/FBTa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fQSEtmLEhLZFBIS2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABIS2QASEtkCEhLZTRIS2dsSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT2v8UFNr/FRXa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xoa + 2/8bG9v/HBzb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ICDd/yQkxf8zM2T/OTo6/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zY2 + Uf8nJ7H/ICDd/x8f3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xsb2/8aGtv/GRnb/xgY2/8YGNr/Fxfa/xYW + 2v8VFdr/FBTa/xQU2v8TE9r/EhLa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtntEhLZdBIS2QgSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS + 2QASEtkuEhLZwBIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT + 2v8TE9r/FBTa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GBja/xkZ2/8aGtv/Ghrb/xwc2/8cHNv/HR3b/x0d + 2/8eHtv/Hx/c/yAg3P8hIdz/IiLa/ywslP84OUL/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5PP8wMHn/IyPS/yEh + 3f8gINz/Hx/c/x4e2/8dHdv/HBzb/xwc2/8bG9v/Ghrb/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xUV + 2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ3hIS2UwSEtkBEhLZAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2RMSEtmYEhLZ+hIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xYW + 2v8WFtr/Fxfa/xcX2v8YGNv/GRnb/xoa2/8bG9v/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yEh + 3P8iIt3/JibK/zQ0Yf85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov82N07/KCi0/yIi3v8hIdz/ICDc/x8f + 3P8eHtv/HR3b/x0d2/8cHNv/Gxvb/xsb2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2b0SEtkpEhLZABIS2QAAAAAAAAAAAAAAAAASEtkAEhLZAhIS2VoSEtnoEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ + 2/8ZGdv/Ghrb/xwc2/8cHNv/HR3b/x4e2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8jI97/Kiuu/zc4 + SP85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OT7/LS6R/yMj2/8iItz/ISHc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xcX2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS + 2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fYSEtmDEhLZChIS + 2QAAAAAAAAAAAAAAAAASEtkAEhLZIBIS2bwSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtr/EhLa/xMT2v8UFNr/FBTa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8aGtv/Gxvb/x0d + 2/8dHdv/Hh7b/x8f3P8fH9z/ISHc/yEh3P8iItz/IyPc/yQk3f8lJdr/LzCK/zk5Pf85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojr/MjNt/yUl0f8jI93/IiLc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc + 2/8cHNv/Gxvb/xoa2/8ZGdv/GBjb/xcX2v8XF9r/Fhba/xUV2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnaEhLZQRIS2QASEtkAAAAAABIS + 2QASEtkCEhLZaxIS2fQSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT + 2v8UFNr/FRXa/xYW2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg + 3P8hIdz/IiLc/yIi3P8jI9z/JCTc/yUl3v8oKM7/NDRo/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojr/NjdQ/ykpvf8lJd7/JCTc/yMj3P8iItz/IiLc/yEh3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8aGtv/GRnb/xgY2/8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn9EhLZmBIS2QwSEtkAAAAAABIS2QASEtkhEhLZvBIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU2v8VFdr/Fhba/xcX + 2v8YGNr/GBja/xkZ2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk + 3P8lJd3/Jibd/yYm3/8qKsH/NjZY/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODhF/yws + q/8mJt7/JSXd/yUl3P8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8cHNv/Ghrb/xoa + 2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ3hIS2T4SEtkAAAAAABIS2QASEtlcEhLZ7RIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/ISHc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo + 4P8sLLn/NzdQ/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODlA/y4un/8nJ97/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY + 2v8XF9r/Fhba/xUV2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ+xIS2YgSEtkHEhLZABIS2RISEtmdEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/Fxfa/xkZ2/8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e + 2/8fH9z/ICDc/yEh3P8hIdz/IiLc/yQk3P8lJd3/Jibd/yYm3f8nJ93/KCjd/ykp4P8vL67/ODhK/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk+/zAxk/8pKd3/KCjd/ycn3f8mJt3/JSXd/yQk + 3P8jI9z/IyPc/yEh3P8gINz/Hx/c/x4e2/8eHtv/HR3b/xsb2/8aGtv/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2ccSEtkmEhLZABIS2TYSEtnSEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU + 2v8VFdr/Fhba/xcX2v8YGNr/GBjb/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr3/8wMKX/ODlG/zk6Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk8/zIyiP8qKtv/KSnd/ygo3f8nJ93/Jyfd/yUl3f8kJNz/IyPc/yIi + 3P8hIdz/ICDc/yAg3P8eHtv/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xUV + 2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2ewSEtlYEhLZABIS + 2WkSEtnxEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY + 2v8ZGdv/Ghrb/xoa2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm + 3f8nJ93/KCjd/ykp3f8qKt3/Kyve/yws3/8xMaH/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk8/zM0hP8sLNr/Kyve/yoq3f8pKd3/KCjd/yYm3f8mJt3/JSXc/yQk3P8iItz/IiLc/yEh + 3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f0SEtmKEhLZCRIS2aQSEtn9EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8VFdr/FRXa/xUV2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc + 2/8dHdv/Hh7b/x4e2/8fH9z/ICDc/yIi3P8jI9z/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq + 3f8rK97/LCze/y0t3/8yMqL/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zQ0 + hP8tLdr/Kyve/ysr3f8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f + 3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8ZGdv/GBja/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtm2EhLZHhIS2dYSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GBjb/xoa2/8bG9v/HBzb/x0d2/8dHdv/Hx/c/yAg + 3P8gINz/IiLc/yMj3P8jI9z/JCTc/yYm3f8nJ93/Jyfd/ykp3f8pKd3/Kyvd/yws3v8sLN7/LS3e/y4u + 3/8zM6L/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zQ0hf8uLtv/LS3e/yws + 3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d + 2/8cHNv/Gxvb/xoa2/8ZGdv/GBjb/xgY2v8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtnWEhLZORIS2fYSEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xUV + 2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8eHtv/ICDc/yEh3P8iItz/IyPc/yQk + 3P8kJNz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/Ly/e/zAw3/8zM6L/ODlE/zk5 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zU1hf8vL9v/Li7e/y4u3v8sLN7/Kyvd/yoq + 3f8pKd3/KCjd/ygo3f8mJt3/JSXd/yUl3P8jI9z/IiLc/yIi3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8bG9v/GRnb/xgY2/8YGNr/Fxfa/xUV2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtnrEhLZVRIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ + 2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8iItz/JCTc/yUl3f8mJt3/Jyfd/ygo + 3f8pKd3/Kird/ysr3f8sLN7/LS3e/y4u3v8vL97/MDDf/zEx4P80NaL/ODlE/zk5Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk8/zU2hf8xMdv/MDDf/y8v3v8uLt7/LS3e/yws3v8rK93/Kird/ygo + 3f8oKN3/Jyfd/yUl3f8kJNz/IyPc/yMj3P8iItz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn1EhLZdRIS + 2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9v/Gxvb/x0d + 2/8eHtv/Hh7b/x8f3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm3f8oKN3/KCjd/yoq3f8rK93/Kyve/y0t + 3v8uLt7/Li7e/y8v3v8xMd7/MjLf/zMz4P81NqL/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk8/zY2hf8yMtv/MTHf/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq3f8pKd3/KCjd/ycn + 3f8lJd3/JSXc/yQk3P8iItz/ISHc/yEh3P8fH9z/Hh7b/x4e2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX + 2v8WFtr/FRXa/xQU2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn6EhLZkBIS2f8SEtn/EhLa/xMT + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/GRnb/xsb2/8bG9v/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8iItz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/ysr3f8sLN7/LCze/y4u3v8vL97/MDDe/zEx + 3v8yMt//MzPf/zQ04P82NqL/OTlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zc3 + hf80NNz/MjLf/zEx3v8wMN7/Ly/e/y8v3v8uLt7/LCze/ysr3f8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl + 3P8jI9z/IyPc/yIi3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xwc2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xUV + 2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn9EhLZnhIS2f8SEtr/EhLa/xMT2v8UFNr/FRXa/xUV + 2v8XF9r/GBja/xgY2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8jI9z/JCTc/yUl + 3f8mJt3/KCjd/ygo3f8pKd3/Kyvd/yws3v8tLd7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NTXf/zY2 + 4P83N6L/OTlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zc4hf81Ndz/NDTf/zMz + 3/8yMt//MTHe/zAw3v8vL97/LS3e/yws3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJdz/JCTc/yMj + 3P8iItz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2f8SEtn+EhLZqhIS2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/GBjb/xoa + 2/8bG9v/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KCjd/yoq + 3f8rK93/LCze/y0t3v8uLt7/Ly/e/zAw3v8xMd7/MjLf/zQ03/81Nd//Njbf/zc34f84OKP/OTlE/zk5 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zg4hf82Ntz/NTXf/zU13/8zM9//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/ycn3f8mJt3/JSXc/yMj3P8iItz/ISHc/yAg + 3P8fH9z/Hh7b/x4e2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xQU2v8UFNr/ExPa/xIS + 2v8SEtn/EhLZrxIS2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNv/GRnb/xoa2/8cHNv/HBzb/x4e + 2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8mJt3/Jibd/ygo3f8pKd3/Kird/ysr3f8sLN7/LS3e/y4u + 3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU13/82Nt//Nzfg/zg44f85OaP/OTpF/zk6O/85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk5hv84ONz/Nzfg/zY23/80NN//MzPf/zIy3/8xMd7/MDDe/y8v + 3v8uLt7/LS3e/yws3v8rK93/Kird/ygo3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yEh3P8gINz/ICDc/x4e + 2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZsBMT + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ykp3f8qKt3/Kyvd/yws3v8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz + 3/80NN//NTXf/zY23/83N9//ODjg/zo64f86OqP/OjtG/zo7O/86Ozz/Ojs9/zo7PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs8/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojs8/zo7Pf86Ojz/Ojo8/zo6PP86Ozz/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojs9/zo7PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs8/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7PP86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ozz/Ojs9/zo6hv85Odz/ODjg/zc33/82Nt//NTXf/zMz3/8zM9//MTHe/zAw3v8vL97/Li7e/y0t + 3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc + 2/8bG9v/Ghrb/xkZ2/8XF9r/Fxfa/xYW2v8UFNr/FBTa/xMT2v8SEtr/EhLasBQU2v8VFdr/FRXa/xYW + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/yAg3P8hIdz/ISHc/yMj3P8kJNz/JSXd/yYm + 3f8nJ93/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/MDDe/zEx3v8yMt//MzPf/zU13/81Nd//Njbf/zg4 + 3/85OeD/Ojrg/zs74f87O6T/OzxH/zs7PP87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87Oz3/Ozs+/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozs+/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs+/zs8Pv87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pv87Oz3/Ozs9/zs7Pf87Oz3/Ozw+/zs7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs+/zs7 + h/87O93/OTng/zg44P83N9//Njbf/zU13/80NN//MjLf/zEx3v8wMN7/Ly/e/y4u3v8tLd7/LCze/yoq + 3f8pKd3/KCjd/ycn3f8mJt3/JSXc/yMj3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8YGNv/Fxfa/xYW2v8VFdr/FRXa/xQU2v8TE9r/EhLasBQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/Kird/ysr + 3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zg44P86OuD/Ozvg/zw8 + 4f89PaT/PDxH/zs8Pf88PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zs8Pv87PD7/Ozw+/zw8 + Pv88PD7/Ozw+/zs8Pv88PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv88PD7/PDw+/zs8Pv87PD7/PDw+/zw8 + Pv88PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv87PD7/PDw+/zw8Pv88PD7/PDw+/zs8Pv87PD7/PDw+/zw8 + Pv88PD7/PDw+/zs8Pv87PD7/Ozw+/zw8Pv87PD7/PDw+/zs8Pv87PD7/PDw+/zw8Pv87PD7/PDw+/zs8 + Pv87PD7/Ozw+/zw8Pv87PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zw8Pv88PD7/Ozw+/zs8 + Pv87PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zs8Pv88PD7/Ozw+/zw8 + Pv87PD7/Ozw+/zw8Pv88PD7/Ozw+/zw8Pv87PD7/Ozw+/zw8Pv87PD7/Ozw+/zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/PDw+/zw8Pv87PD7/PDw+/zs8Pv87PD7/Ozw+/zw8Pv87PD7/PDw//zw8h/88PN3/Ozvg/zo6 + 4P84OOD/Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ygo + 3f8mJt3/Jibd/yQk3P8jI9z/IiLc/yEh3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8ZGdv/GBja/xcX + 2v8WFtr/FRXa/xUV2v8UFNr/ExPasBUV2v8WFtr/Fxfa/xcX2v8YGNv/Ghrb/xsb2/8cHNv/HR3b/x4e + 2/8fH9z/ICDc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8qKt3/Kyvd/yws3v8uLt7/Li7e/zAw + 3v8xMd7/MjLf/zMz3/81Nd//NTXf/zc33/84OOD/OTng/zo64P88POD/PT3g/z4+4v8+PqX/PD1I/zw9 + Pv88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD1A/z09iP89Pd3/PDzh/zs74P86OuD/ODjg/zc3 + 3/82Nt//NTXf/zQ03/8yMt//MTHe/zAw3v8vL97/Li7e/y0t3v8rK97/Kird/ykp3f8oKN3/Jyfd/yUl + 3f8kJNz/IyPc/yEh3P8hIdz/ICDc/x8f3P8eHtv/HBzb/xsb2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xUV + 2v8UFNr/ExPasBYW2v8WFtr/Fxfa/xgY2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yMj + 3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp3f8rK93/LCze/y0t3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ0 + 3/82Nt//Nzff/zg43/85OeD/Ojrg/zs74P89PeD/Pj7h/z8/4v8/P6X/PT5J/z0+P/89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5B/z4/iP8/P93/PT3h/zw84P87O+D/Ojrg/zg44P83N9//Nzff/zU1 + 3/80NN//MzPf/zEx3/8wMN7/Ly/e/y4u3v8tLd7/LCze/yoq3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yMj + 3P8hIdz/ISHc/x8f3P8fH9z/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTasBYW + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8oKN3/KSnd/ysr3f8sLN7/LS3e/y4u3v8vL97/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zk5 + 4P87O+D/PDzg/z094P8+PuH/Pz/h/0FB4v9AQKb/Pj9K/z4/QP8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+PkH/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9C/z8/if9AQN7/Pz/h/z094P88POD/Ozvg/zo64P85OeD/ODjf/zc33/81Nd//NDTf/zMz + 3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ycn3f8mJt3/JSXd/yQk3P8jI9z/IiLc/yEh + 3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xkZ2/8YGNv/Fxfa/xcX2v8WFtr/FRXasBYW2v8YGNr/GRnb/xoa + 2/8bG9v/HBzb/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yUl3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8tLd7/Li7e/y8v3v8xMd7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zs74P88POD/PT3g/z4+ + 4f9AQOH/QUHh/0JC4v9BQab/P0BL/z8/QP8/P0L/Pz9C/z9AQv8/QEL/P0BC/z9AQv8/P0L/P0BC/z9A + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/P0BC/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/0BB + if9BQd7/QEDh/z4+4f8+PuD/PDzg/zs74P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8zM9//MTHe/zAw + 3v8vL97/Li7e/yws3v8rK97/Kird/ykp3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xoa2/8ZGdv/GBjb/xcX2v8WFtr/FhbasBcX2v8YGNv/Ghrb/xsb2/8bG9v/HR3b/x4e + 2/8gINz/ISHc/yIi3P8jI9z/JCTc/yUl3f8nJ93/KCjd/ykp3f8qKt3/LCze/y0t3v8uLt7/Ly/e/zEx + 3v8yMt//MzPf/zQ03/81Nd//Nzff/zk54P86OuD/Ozvg/zw84P89PeD/Pj7h/0BA4f9BQeH/QkLh/0RE + 4/9DQ6f/QEFL/z9AQf8/QEP/P0BD/z9AQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/z9AQv9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/P0BC/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBD/0BAQ/9AQEP/P0BD/z9A + Qv8/QEP/QEBD/z9AQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBD/0BA + Q/8/QEP/P0BC/z9AQv8/QEP/P0BC/z9AQv9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEP/P0BC/z9AQ/8/QEL/QEBD/z9AQ/8/QEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/z9AQv8/QEL/QEBD/0BAQ/9AQEL/QEBD/0FCiv9CQt7/QUHh/0BA + 4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zk54P84OOD/Njbf/zU13/80NN//MzPf/zEx3v8wMN7/Ly/e/y4u + 3v8sLN7/Kyvd/yoq3f8pKd3/Jyfd/yYm3f8lJdz/JCTc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HBzb/xsb + 2/8aGtv/GRnb/xgY2v8XF9r/FxfasBgY2v8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yMj + 3P8kJNz/JSXd/yYm3f8oKN3/KSnd/yoq3f8rK97/LS3e/y4u3v8vL97/MTHe/zIy3/8zM9//NTXf/zY2 + 3/83N9//ODjg/zk54P87O+D/PDzg/z094P8+PuH/Pz/h/0FB4f9CQuH/Q0Ph/0VF4/9ERKf/QUFM/0BB + Qv9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFE/0BBRP9AQUP/QEFE/0BBQ/9AQUP/QEFE/0BB + Q/9AQUT/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFE/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9BQUT/QEFE/0BBQ/9AQUP/QEFD/0BB + RP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFE/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + RP9AQUT/QEFE/0BBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUT/QEFD/0BBQ/9AQUT/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBRP9AQUP/QEFE/0JDi/9ERN7/Q0Pi/0JC4f9AQOH/Pz/h/z4+ + 4P89PeD/Ozvg/zo64P84OOD/Nzff/zY23/81Nd//NDTf/zIy3/8xMd7/MDDe/y8v3v8tLd7/LCze/ysr + 3f8qKt3/KCjd/ycn3f8mJt3/JSXd/yQk3P8iItz/ISHc/yAg3P8fH9z/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/FxfasBkZ2/8aGtv/Gxvb/x0d2/8dHdv/Hx/c/x8f3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/ysr3v8tLd7/Li7e/y8v3v8wMN7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/Ojrg/zs7 + 4P88POD/PT3g/z8/4f8/P+H/QUHh/0JC4f9DQ+H/RETi/0ZG4/9FRaf/QkJN/0FCQ/9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJF/0REi/9FRd//RETi/0ND4f9BQeH/QEDh/z8/4f8+PuH/PT3g/zs7 + 4P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8yMt//MTHe/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ygo + 3f8nJ93/Jibd/yQk3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8YGNv/GBjasBoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yEh3P8iItz/JCTc/yUl3P8mJt3/Jyfd/ygo3f8qKt3/Kyvd/yws + 3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zQ03/82Nt//Nzff/zg44P86OuD/Ozvg/zw84P89PeD/Pz/h/0BA + 4f9BQeH/QkLh/0RE4f9FReL/Rkbi/0dH4/9GRqj/QkNO/0JDRP9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNG/0VFjP9HR9//RUXi/0RE4f9DQ+H/QkLh/0FB4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zg4 + 4P83N9//Njbf/zU13/80NN//MjLf/zEx3v8vL97/Li7e/y0t3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl + 3f8kJNz/IiLc/yEh3P8gINz/Hx/c/x4e2/8cHNv/HBzb/xoa2/8ZGdv/GRnbsBoa2/8bG9v/HR3b/x4e + 2/8fH9z/ICDc/yIi3P8jI9z/JCTc/yYm3f8mJt3/KCjd/ykp3f8qKt3/LCze/y0t3v8uLt7/MDDe/zEx + 3v8zM9//NDTf/zU13/83N9//ODjg/zk54P86OuD/PDzg/zw84P8+PuH/QEDh/0FB4f9CQuH/RETh/0VF + 4v9GRuL/R0fi/0lJ4/9HR6j/Q0RP/0NDRf9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NE + Rv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0NG/0NDRv9DREb/Q0RG/0NERv9DQ0b/Q0NG/0NE + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0RG/0NERv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NERv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NERv9DQ0b/Q0NG/0NERv9DQ0b/Q0NG/0NERv9DREb/Q0NG/0ND + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0NG/0NDRv9DQ0b/Q0RG/0NE + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DQ0b/Q0RH/0ZG + jP9ISN//R0fi/0VF4v9EROH/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ozvg/zo64P85OeD/Nzff/zY2 + 3/81Nd//MzPf/zIy3/8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/yYm3f8lJd3/IyPc/yIi + 3P8hIdz/ICDc/x8f3P8dHdv/HR3b/xsb2/8aGtv/GRnbsBwc2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8kJNz/JSXd/ycn3f8oKN3/KSnd/yoq3f8rK97/LS3e/y4u3v8wMN7/MTHe/zIy3/80NN//NTXf/zY2 + 3/83N9//OTng/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0ND4f9EROH/RETi/0ZG4v9ISOL/SUni/0pK + 5P9ISKn/REVP/0NERv9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/Q0RH/0RE + R/9EREf/RERH/0RER/9EREf/RERH/0NER/9DREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/Q0RH/0RER/9EREf/RERH/0RER/9EREf/REVH/0RE + R/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0NE + R/9DREf/Q0RH/0RER/9DREf/Q0RH/0RER/9EREf/RERH/0NER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/Q0RH/0RER/9EREf/Q0RH/0NER/9DREf/RERH/0RER/9DREf/RERH/0RER/9EREf/Q0RH/0NE + R/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0NER/9DREf/RERI/0dHjf9JSd//SEji/0dH + 4v9FReL/RETh/0ND4f9CQuH/QEDh/z8/4f89PeD/PDzg/zs74P86OuD/ODjg/zc33/82Nt//NTXf/zMz + 3/8yMt//MTHe/y8v3v8tLd7/LCze/ysr3f8qKt3/KSnd/ycn3f8mJt3/JCTc/yMj3P8iItz/ISHc/x8f + 3P8eHtv/Hh7b/xwc2/8bG9v/GhrbsB0d2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/ysr3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/84OOD/Ojrg/zs7 + 4P89PeD/Pj7h/0BA4f9BQeH/QkLh/0ND4f9FReL/Rkbi/0hI4v9JSeL/Skrj/0tL5P9JSqn/RUZQ/0RF + R/9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/RUVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/RUVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9FRUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0dIjf9KSt//SUnj/0hI4v9GRuL/RUXi/0RE + 4f9DQ+H/QUHh/0BA4f8/P+H/PT3g/zw84P87O+D/Ojrg/zg44P83N9//NTXf/zQ03/8zM9//MjLf/zAw + 3v8vL97/LS3e/yws3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8fH9z/Hh7b/x0d + 2/8cHNv/GxvbsB0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ03/82Nt//Nzff/zg44P86OuD/Ozvg/zw84P8+PuD/Pz/h/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0lJ4v9KSuL/TEzj/01N5P9LS6r/RkZR/0VGR/9FRkn/RUZJ/0VG + Sf9FRkj/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSP9FRkn/RUZI/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSP9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSP9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkj/RUZJ/0hJjv9MTOD/S0vj/0lJ4v9ISOL/R0fi/0ZG4v9EROH/Q0Ph/0FB + 4f9AQOH/Pz/h/z094P88POD/Ojrg/zk54P84ON//Njbf/zU13/80NN//MjLf/zEx3v8wMN7/Ly/e/y0t + 3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IiLc/yEh3P8gINz/Hx/c/x4e2/8cHNv/HBzbsB4e + 2/8fH9z/ICDc/yEh3P8iItz/JCTc/yUl3f8mJt3/KCjd/ykp3f8qKt3/LCze/y4u3v8vL97/MDDe/zEx + 3v8yMt//NDTf/zU13/83N9//ODjg/zo64P87O+D/PDzg/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0ZG + 4v9ISOL/SUni/0pK4v9MTOP/TEzj/05O5P9MTKr/R0dS/0ZHSP9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSv9GR0r/RkdK/0ZHSv9GR0n/RkdJ/0ZHSv9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSv9GR0r/RkdJ/0ZHSf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0r/RkdK/0ZHSf9GR0r/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZHSv9GR0r/RkdK/0ZHSf9GR0n/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sf9GR0n/RkdK/0pKj/9NTeD/TEzj/0tL4v9JSeL/SEji/0dH4v9FReL/RETh/0JC4f9BQeH/QEDh/z4+ + 4f89PeD/Ozvg/zo64P85OeD/ODjf/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y4u3v8sLN7/Kyvd/yoq + 3f8pKd3/Jyfd/yYm3f8lJd3/IyPc/yIi3P8hIdz/ICDc/x4e2/8dHdv/HBzbsB8f3P8gINz/ISHc/yIi + 3P8kJNz/JSXc/yYm3f8nJ93/KSnd/yoq3f8sLN7/LS3e/y4u3v8wMN7/MTHe/zIy3/80NN//NTXf/zY2 + 3/84OOD/OTng/zs74P88POD/PT3g/z8/4f9AQOH/QUHh/0ND4f9EROH/Rkbi/0dH4v9ISOL/Skri/0tL + 4/9NTeP/Tk7j/09P5P9NTav/SEhT/0dISf9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0dK/0dHSv9HR0r/R0dK/0dHSv9HSEr/R0dK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dHSv9HR0r/R0dK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0dK/0dHSv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dHSv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dHSv9HR0r/R0hL/0tL + j/9PT+D/TU3j/0xM4/9LS+L/SUni/0hI4v9GRuL/RUXi/0RE4f9CQuH/QUHh/0BA4f8+PuH/PDzg/zs7 + 4P86OuD/ODjg/zc33/82Nt//NDTf/zMz3/8yMt//MTHe/y8v3v8uLt7/LCze/ysr3f8pKd3/KCjd/ycn + 3f8mJt3/JSXc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HR3bsCAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8oKN3/Kird/ysr3v8tLd7/Li7e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/85OeD/Ojrg/zw8 + 4P89PeD/Pz/h/0BA4f9CQuH/Q0Ph/0RE4f9FReL/R0fi/0hI4v9KSuL/S0vj/01N4/9OTuP/T0/j/1FR + 5f9OTqv/SElU/0hISv9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9HSEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9HSEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0dIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0dIS/9HSEv/R0hL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0dI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhM/0xMkP9QUOD/Tk7j/01N + 4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0VF4v9DQ+H/QkLh/0FB4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zg4 + 4P83N9//Njbf/zQ03/8zM9//MjLf/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ycn3f8nJ93/Jibd/yQk + 3P8iItz/ISHc/yAg3P8fH9z/Hh7bsCEh3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8uLt7/Ly/e/zAw3v8yMt//MzPf/zQ03/82Nt//Nzff/zg44P86OuD/PDzg/z094P8+PuH/Pz/h/0FB + 4f9CQuH/RETh/0ZG4v9HR+L/SEji/0lJ4v9LS+P/TEzj/05O4/9PT+P/UVHk/1JS5f9PT6z/SUpV/0hJ + S/9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SUlM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SUlM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SUlM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0lJTP9JSUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0lJTP9JSUz/SUlM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SUlN/01NkP9RUeH/UFDk/05O4/9NTeP/TEzj/0pK + 4v9JSeL/R0fi/0ZG4v9FReL/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ojrg/zk54P84OOD/Nzff/zU1 + 3/80NN//MzPf/zEx3v8wMN7/Li7e/y0t3v8rK97/Kird/ygo3f8nJ93/Jibd/yUl3P8jI9z/IiLc/yAg + 3P8fH9z/Hx/csCEh3P8iItz/IyPc/yQk3P8mJt3/Jyfd/ykp3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx + 3v8yMt//MzPf/zU13/83N9//ODjg/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RUXi/0dH + 4v9ISOL/SUni/0tL4v9MTOP/TU3j/09P4/9QUOP/UlLk/1NT5f9QUKz/SktV/0lKTP9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpO/05Okf9TU+H/UVHk/1BQ4/9PT+P/TU3j/0tL4/9KSuL/SUni/0dH + 4v9GRuL/RUXi/0RE4f9CQuH/QEDh/z8/4f89PeD/PDzg/zo64P85OeD/ODjf/zY23/80NN//MzPf/zIy + 3/8wMN7/Ly/e/y4u3v8sLN7/Kyvd/ykp3f8oKN3/Jibd/yUl3f8kJNz/IiLc/yIi3P8gINz/Hx/csCEh + 3P8jI9z/JCTc/yUl3f8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8zM9//NDTf/zY2 + 3/84ON//OTng/zs74P88POD/Pj7g/z8/4f9AQOH/QkLh/0ND4f9FReL/Rkbi/0hI4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1VV5f9RUaz/S0tW/0pLTf9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/09Pkf9TU+H/UlLk/1FR4/9QUOP/T0/j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0VF + 4v9DQ+H/QUHh/0BA4f8+PuH/PT3g/zs74P86OuD/OTng/zc33/81Nd//NDTf/zMz3/8xMd7/MDDe/y4u + 3v8tLd7/Kyve/yoq3f8pKd3/Jyfd/yYm3f8lJdz/JCTc/yMj3P8gINz/Hx/csCMj3P8kJNz/JSXc/yYm + 3f8oKN3/KSnd/yoq3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zMz3/81Nd//Njbf/zc33/85OeD/Ojrg/zw8 + 4P89PeD/Pj7h/0BA4f9BQeH/Q0Ph/0RE4f9FReL/R0fi/0lJ4v9KSuL/S0vj/01N4/9OTuP/UFDj/1FR + 5P9TU+T/VFTk/1ZW5f9TU63/TExX/0tLTv9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0tP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tLT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tLT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE7/S0xP/1BQ + kv9VVeH/VFTk/1JS5P9RUeP/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/R0fi/0VF4v9EROH/QkLh/0FB + 4f8/P+H/PT3g/zw84P87O+D/OTng/zg44P82Nt//NTXf/zQ03/8yMt//MTHe/y8v3v8uLt7/LCze/ysr + 3f8qKt3/KSnd/ycn3f8lJd3/JCTc/yMj3P8iItz/ICDcsCMj3P8kJNz/Jibd/ycn3f8oKN3/KSnd/ysr + 3f8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz3/80NN//NTXf/zc33/85OeD/Ojrg/zs74P89PeD/Pj7h/0BA + 4f9CQuH/Q0Ph/0RE4f9GRuL/SEji/0lJ4v9KSuL/TEzj/01N4/9OTuP/UFDj/1JS5P9TU+T/VFTk/1ZW + 5f9TU63/TE1Y/0xMTv9MTFD/TExP/0xMT/9MTE//TExQ/0xMUP9MTFD/TExP/0xMUP9MTFD/TExP/0xM + T/9MTFD/TExQ/0xMT/9MTE//TExQ/0xMUP9MTFD/TExP/0xMUP9MTVD/TExQ/0xMT/9MTFD/TExQ/0xM + T/9MTFD/TE1Q/0xMUP9MTFD/TExP/0tMT/9MTFD/TE1Q/0xMUP9MTE//TExP/0xMT/9MTVD/TE1Q/0xM + UP9MTFD/TExP/0xMUP9MTE//TExQ/0xMUP9MTFD/TExQ/0tMT/9MTE//TExP/0xMT/9MTFD/TExQ/0xM + UP9MTE//TExQ/0xMUP9MTFD/TExQ/0xNUP9MTFD/TExP/0xMT/9MTE//TExQ/0xMUP9MTE//TExQ/0xN + UP9MTFD/S0xP/0xMUP9MTFD/TExQ/0xMT/9MTE//TExQ/0xMUP9MTE//S0xP/0xMUP9MTFD/TExQ/0xN + UP9MTFD/TExP/0xMUP9MTVD/TExP/0xMT/9MTVD/TExQ/0tMT/9MTE//TExP/0xMT/9MTE//TExP/0xM + T/9MTE//TExP/0xMUP9MTE//TExP/0xMT/9MTVD/TExQ/0xMUP9MTE//TE1Q/1BRkv9VVeH/VFTk/1NT + 5P9RUeP/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/R0fi/0VF4v9EROH/QkLh/0FB4f8/P+H/Pj7g/zw8 + 4P87O+D/OTng/zg43/82Nt//NTXf/zQ03/8yMt//MDDe/zAw3v8vL97/LS3e/yws3v8rK93/KSnd/ygo + 3f8mJt3/JSXd/yQk3P8jI9z/IiLcsCQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8tLd7/Ly/e/zAw + 3v8zM9//R0fi/1FR5P9SUuT/VFTk/1VV5P9WVuT/WFjl/1lZ5f9aWuX/XFzl/11d5f9eXub/X1/m/2Fh + 5v9iYub/Y2Pm/2Rk5/9lZef/Z2fn/2ho5/9paef/a2vo/2xs6P9tbej/bm7o/3Bw6v9jZLD/T09Z/0xN + T/9MTVD/TE1Q/0xNUP9MTVD/TE1Q/01NUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xN + UP9MTVD/TE1Q/01NUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9NTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1R/1xdlf9vb+X/bm7o/21t6P9ra+j/amrn/2lp + 5/9oaOf/Zmbn/2Vl5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d5f9cXOX/W1vl/1pa5f9ZWeX/V1fk/1ZW + 5P9UVOT/U1Pk/1JS5P9RUeP/S0vj/zU13/8wMN7/Li7e/y0t3v8rK97/Kird/ykp3f8nJ93/JSXd/yQk + 3P8jI9z/IiLcsCQk3P8mJt3/Jyfd/ygo3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx3v88POD/rKzy/+Tk + +//i4vr/4uL6/+Pj+//j4/v/4+P7/+Pj+//j4/v/5OT7/+Tk+//k5Pv/5OT7/+Xl+//l5fv/5eX7/+Xl + +//l5fv/5ub7/+bm+//m5vv/5ub7/+bm+//n5/v/5+f7/+jo/P+ur7z/Vldb/0xNUP9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/Tk9S/5OTnv/k5Pj/5+f8/+fn+//m5vv/5ub7/+bm+//m5vv/5eX7/+Xl + +//l5fv/5eX7/+Xl+//k5Pv/5OT7/+Tk+//k5Pv/5OT7/+Pj+//j4/v/4+P7/+Pj+//i4vr/4uL6/+Li + +v/j4/v/ycn2/0tL4v8vL97/Ly/e/y4u3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yUl3f8kJNz/IyPcsCUl + 3f8nJ93/KCjd/ykp3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8+PuH/wcH1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////++vr//WFlc/01NUf9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/T1BT/56eoP/7+/v///////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4uL6/1BQ + 4/8wMN7/MDDe/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/yYm3f8kJNz/IyPcsCYm3f8nJ93/KCjd/yoq + 3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8/P+H/wcH1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////++vr//WVld/05OUv9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09P + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/UFBU/56f + oP/7+/v///////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1BQ4/8xMd7/MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTcsCYm3f8oKN3/KSnd/ysr3f8sLN7/Li7e/y8v + 3v8xMd7/MjLf/zIy3/9AQOH/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //++vr//WVpd/05PU/9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQ + VP9QUVT/UFBU/1BQVP9QUFT/T1BU/1BQVP9QUFT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQ + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BRVP9QUFT/UFBU/1BQ + VP9QUFT/UFBU/1BQVP9QUVT/UFBU/1BRVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BR + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BRVP9QUFT/UFBU/1BQVP9QUVT/UFBU/1BQ + VP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFFU/1BR + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UVFV/5+fof/7+/v///////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4uL6/1FR5P8yMt//MTHe/zAw3v8uLt7/LS3e/yws + 3v8qKt3/KSnd/ycn3f8mJt3/JSXdsCgo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zMz + 3/9AQOH/wsL1//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////CwsP/XFxf/09Q + U/9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UVFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9RUVX/UVFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UVFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BRVf9RUVX/UVFV/1FRVf9QUVX/UVFV/1BR + Vf9QUVX/UFFV/1BRVf9RUVX/UVFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UlNW/6Okpf/8/Pz///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4uL6/1JS5P8zM9//MjLf/zAw3v8vL97/Li7e/yws3v8rK93/KSnd/ygo + 3f8mJt3/JibdsCgo3f8pKd3/Kyve/yws3v8uLt7/Ly/e/zEx3v8yMt//MzPf/zQ03/9BQeH/wsL1//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Nzc7/YWFl/09QVP9RUlb/UVJW/1FS + Vv9RUlb/UVJW/1FSVv9RUlX/UVJV/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FS + Vf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJW/1FSVv9RUlb/UVJW/1FS + Vv9RUlb/UVJW/1FSVf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJV/1FSVf9RUlX/UVJW/1FS + Vv9RUlX/UVJV/1FSVf9RUlb/UVJW/1FSVv9RUlb/UVJV/1FSVv9RUlb/UVJV/1FSVv9RUlb/UVJW/1FS + Vf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FS + Vv9RUlb/UVJV/1FSVf9RUlX/UVJW/1FSVv9RUlb/UVJW/1FSVf9RUlX/UVJV/1FSVv9RUlX/UVJV/1FS + Vv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVf9RUlb/UVJV/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJW/1FS + Vv9RUlb/UVJV/1FSVf9RUlX/VFVY/6+wsf////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4uL6/1JS5P80NN//MzPf/zEx3v8wMN7/Li7e/yws3v8rK97/Kird/ygo3f8nJ93/JibdsCkp + 3f8qKt3/LCze/y0t3v8uLt7/MDDe/zIy3/8zM9//NDTf/zU13/9CQuH/wsL1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////X19j/aGls/1BRVP9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTV/9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTV/9SU1f/UlNW/1JTV/9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNX/1JTVv9SU1b/UlNW/1JTV/9SU1b/UlNX/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNW/1JTVv9SU1b/UlNX/1JTV/9SU1f/UlNW/1JT + Vv9SU1b/WFhc/7y9vv////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4uL6/1NT + 5P81Nd//NDTf/zIy3/8xMd7/Ly/e/y0t3v8sLN7/Kyvd/ykp3f8oKN3/JibdsCkp3f8rK93/LCze/y4u + 3v8vL97/MTHe/zIy3/80NN//Njbf/zY23/9DQ+H/wsL1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////g4OH/cXJ1/1FSVf9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9SU1f/Xl9i/8nJ + yv////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1RU5P81Nd//NDTf/zMz + 3/8yMt//MDDe/y4u3v8tLd7/LCze/yoq3f8oKN3/JyfdsCoq3f8rK97/LS3e/y8v3v8wMN7/MTHe/zMz + 3/81Nd//Njbf/zc33/9DQ+H/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u7u//g4SG/1JTV/9UVFj/VFRY/1RUWP9UVVj/VFRY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RV + WP9UVVj/VFVY/1RUWP9UVFj/VFRY/1RVWP9UVVj/VFRY/1RVWP9UVVj/VFRY/1RUWP9UVFj/VFVY/1RU + WP9UVVj/VFVY/1RUWP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RUWP9UVFj/VFVY/1RU + WP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVFj/VFVY/1RUWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RV + WP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVVj/VFRY/1RU + WP9UVFj/VFRY/1RVWP9UVFj/VFVY/1RVWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RUWP9UVVj/VFRY/1RU + WP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RU + WP9UVFj/VFVY/1RVWP9UVVj/VFRY/1RVWP9UVVj/VFVY/1RVWP9TVFf/amtu/93d3v////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P6/1RU5P81Nd//NTXf/zQ03/8yMt//MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/KCjdsCsr3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zQ03/81Nd//Nzff/zc3 + 3/9EROH/w8P1//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////8/Pz/p6ep/1ZX + W/9UVVn/VVVZ/1RVWf9UVVn/VVVZ/1VVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1VVWf9VVVn/VVVZ/1VV + Wf9UVVn/VFVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1RVWf9VVVn/VVVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9VVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VVVZ/1VVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1RVWf9UVVn/VFVZ/1VVWf9VVVn/VVVZ/1VV + Wf9VVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1VV + Wf9VVVn/VFVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1VVWf9UVVn/VFVZ/1RVWf9VVVn/VVVZ/1RV + Wf9UVVn/VVVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VVVZ/1VVWf9VVVn/VFVZ/1VVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9VVln/VVVZ/1VVWf9TVFj/iYmM//Pz8/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1VV5P83N9//Njbf/zU13/8zM9//MTHe/zAw3v8uLt7/LS3e/ysr + 3v8qKt3/KSndsCsr3v8tLd7/Li7e/zAw3v8yMt//MzPf/zQ03/82Nt//ODjf/zg44P9FReL/w8P2//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////zc7P/2JjZ/9VVVn/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWf9YWV3/sLCy//z8/P////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1ZW5P83N9//Nzff/zU13/80NN//MjLf/zAw3v8vL97/LS3e/yws3v8qKt3/KSndsCws + 3v8uLt7/Ly/e/zEx3v8yMt//NDTf/zY23/83N9//ODjg/zk54P9FReL/w8P2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////7Ozs/31+gf9VVVn/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1RV + Wf9qa27/1dXW//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1ZW + 5P84OOD/ODjf/zY23/80NN//MzPf/zEx3v8vL97/Li7e/y0t3v8rK93/KirdsC0t3v8uLt7/MDDe/zEx + 3v8zM9//NDTf/zY23/84ON//OTng/zo64P9GRuL/w8P2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////Pz8/7S0tv9dXmL/Vldb/1dYXP9XWFz/V1hc/1dYXP9XWFv/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYW/9XWFz/V1hc/1dYW/9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hb/1dYW/9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hb/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1db/1dYXP+YmJv/8/P0//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1dX5P85OeD/ODjg/zc3 + 3/81Nd//MzPf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/KyvdsC0t3v8vL97/MDDe/zIy3/8zM9//NTXf/zc3 + 3/84OOD/Ojrg/zo64P9HR+L/xMT2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn5/+Cg4b/Vldb/1hYXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWV3/WFlc/1hYXP9YWFz/WFld/1hZXP9YWVz/WFld/1hZXf9YWVz/WFlc/1hZXf9YWV3/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWFz/WFlc/1hZXP9YWV3/WFld/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWV3/WFlc/1hZXP9YWV3/WFld/1hZXP9YWVz/WFlc/1hZXf9YWV3/WFlc/1hZXP9YWFz/WFlc/1hY + XP9YWFz/WFlc/1hZXf9YWVz/WFhc/1hZXf9YWV3/WFlc/1hZXP9YWFz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWFz/WFlc/1hZXP9YWVz/WFlc/1hYXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + Xf9YWV3/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFhc/1hZXP9YWVz/WFlc/1hZXP9YWV3/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWV3/WFlc/1hZXP9YWV3/Vldb/25ucv/S0tP///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1hY5f85OeD/OTng/zc33/82Nt//NDTf/zIy + 3/8xMd7/Ly/e/y4u3v8sLN7/KyvesC4u3v8wMN7/MTHe/zIy3/80NN//Njbf/zc33/85OeD/Ojrg/zs7 + 4P9HR+L/xMT2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////39 + /f+9vb//Y2Rn/1dYXP9ZWV3/WVld/1hZXf9YWV3/WVld/1lZXf9ZWV3/WFld/1hZXf9ZWl3/WVld/1lZ + Xf9ZWl3/WVld/1lZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1lZXf9YWV3/WFld/1lZXf9YWV3/WFld/1lZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1lZ + Xf9ZWV3/WVpd/1lZXf9YWV3/WFld/1hZXf9YWV3/WVld/1lZXf9YWV3/WFld/1hZXf9YWV3/WFld/1lZ + Xf9YWV3/WFld/1hZXf9ZWV3/WVld/1lZXf9YWV3/WVld/1lZXf9ZWV3/WFld/1hZXf9YWV3/WVld/1lZ + Xf9ZWV3/WVld/1lZXf9YWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1hZXf9ZWV3/WFld/1hZ + Xf9YWV3/WFld/1lZXf9ZWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9ZWV3/WFld/1hZXf9ZWV3/WVld/1hZ + Xf9ZWV3/WVld/1hZXf9YWV3/Wltf/6GipP/39/f///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1hY5f86OuD/OTng/zg43/83N9//NTXf/zMz3/8xMd7/MDDe/y8v + 3v8tLd7/LCzesC4u3v8wMN7/MTHe/zMz3/81Nd//Njbf/zg44P86OuD/Ozvg/zw84P9ISOL/xMT2//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////w8PH/m5ud/1xd + YP9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/goOG/+Lj4/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1lZ5f87O+D/Ojrg/zg44P83N9//NTXf/zQ03/8yMt//MTHe/y8v3v8tLd7/LCzesC8v + 3v8wMN7/MjLf/zQ03/81Nd//Nzff/zg44P86OuD/PDzg/z094P9JSeL/xMT2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eXm/4mJjP9bW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1laXv92d3r/0dHS//7+ + /v////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1lZ + 5f87O+D/Ozvg/zk54P83N9//Njbf/zQ03/8zM9//MTHe/zAw3v8uLt7/LS3esDAw3v8xMd7/MjLf/zQ0 + 3/82Nt//Nzff/zk54P87O+D/PT3g/z094P9JSeL/xMT2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9fX2P99foH/Wltf/1pbX/9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bW1//WVpe/21ucv/BwsP/+/v8//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1pa5f88POD/PDzg/zo6 + 4P84OOD/Nzff/zU13/8zM9//MjLf/zAw3v8vL97/Li7esDAw3v8xMd7/MzPf/zU13/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z4+4P9KSuL/xcX2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////39/f/V1db/hoeK/11eYv9bXGD/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXGH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XFxh/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1tcYP9bXGD/dnZ6/8PDxP/4+fn///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/1pa5f89PeD/PDzg/zo64P85OeD/Nzff/zU1 + 3/80NN//MjLf/zAw3v8vL97/Li7esDEx3v8yMt//MzPf/zU13/83N9//ODjg/zo64P88POD/Pj7g/z4+ + 4f9KSuL/xcX2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7/4eLi/5WWmf9jZGj/W1xg/1xdYf9dXWL/XV1i/11eYv9dXWL/XF1i/11d + Yv9dXmL/XV1i/1xdYv9cXWL/XV1i/11dYv9dXWL/XF1i/11dYv9dXWL/XF1h/1xdYv9cXWL/XV1i/11e + Yv9dXWL/XV1i/11dYv9cXWL/XF1i/11dYv9dXWL/XV1i/11dYv9dXWL/XF1i/11dYv9cXWL/XF1i/1xd + Yf9dXWL/XV1i/11dYv9cXWL/XF1i/1xdYv9cXWL/XV1i/11dYv9cXWL/XF1i/11dYv9dXWL/XV1i/1xd + Yv9cXWL/XV1i/1xdYv9dXWL/XV1i/1xdYv9dXmL/XV5i/11eYv9dXWL/XV1i/1xdYv9cXWL/XV1i/11d + Yv9dXmL/XV1i/11dYv9dXWL/XV1i/1xdYv9dXWL/XV1i/1xdYv9cXWL/XF1i/1xdYv9dXWL/XF1i/11d + Yv9dXWL/XV1i/11dYv9dXWL/XF1i/1xdYv9cXWL/XV1i/11dYv9cXWL/XF1i/11dYv9cXWL/XF1h/15f + Y/+EhYj/0dHS//z8/P////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1tb5f89PeD/PT3g/zs74P85OeD/Nzff/zY23/80NN//MjLf/zEx + 3v8vL97/Li7esDEx3v8zM9//NDTf/zY23/83N9//OTng/zs74P89PeD/Pz/h/z8/4f9LS+P/xcX2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+zs7P+vr7H/dHR4/15fY/9cXWH/XV5i/11eY/9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5j/11eY/9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5j/11eY/9dXmP/XV5j/11eY/9dXmL/XV5i/11eYv9dXmP/XV5i/11e + Yv9dXmP/XV5i/11eYv9dXmL/XV5i/11eYv9dXmP/XV5i/11eYv9dXmP/XV5i/11eYv9dXmL/XV5i/11e + Y/9dXmP/XV5j/11eY/9dXmP/XV5j/11eY/9dXmL/XV5j/11eY/9dXmL/XV5i/11eY/9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eY/9dXmP/XV5i/11eYv9dXmL/XV5i/11eY/9dXmL/XV5i/11eY/9dXmL/XV5i/11e + Yv9dXmP/XV5i/11eYv9dXmL/XV5i/11eY/9dXmL/XV5i/1xdYf9dXmL/amtv/56eof/g4OH//f39//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1tb5f8+PuD/Pj7g/zw84P86OuD/ODjg/zY23/81Nd//MzPf/zIy3/8wMN7/Ly/esDIy + 3/8zM9//NTXf/zY23/84OOD/Ojrg/zw84P89PeD/Pz/h/z8/4f9MTOP/xcX2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///6+vr/2NjZ/5+gov91dnn/YmNn/1xdYf9cXWL/XV5j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fZP9eX2T/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9k/15fY/9eX2T/Xl9k/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9k/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2T/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl5j/11eYv9cXWH/X2Bk/25vc/+Tk5b/ysrM//X19f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1xc + 5f8+PuH/Pj7g/zw84P87O+D/OTng/zc33/81Nd//NDTf/zIy3/8xMd7/MDDesDIy3/8zM9//NTXf/zc3 + 3/85OeD/Ojrg/zw84P8+PuD/Pz/h/0BA4f9MTOP/xcX2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////b2 + 9//Z2dr/sbK0/42Okf91dnr/Z2hs/2JjZ/9fYGX/Xl9j/11eY/9dXmP/XV5i/11eYv9dXmP/XV5j/11e + Yv9dXmP/XV5j/11eY/9dXmL/XV5i/11eY/9dXmP/XV5j/11eY/9dXmL/XV5i/11eY/9dXmP/XV5j/11e + Y/9dXmP/XV5i/11eY/9dXmL/XV5i/11eYv9dXmP/XV5j/11eY/9eX2P/Xl9j/15fY/9eX2T/Xl9k/15f + ZP9fX2T/X2Bk/19fZP9eX2T/Xl9k/15fZP9eX2P/Xl9j/15fY/9dXmP/XV5j/11eY/9dXmP/XV5j/11e + Y/9dXmP/XV5j/11eYv9dXmL/XV5j/11eY/9dXmP/XV5j/11eY/9dXmP/XV5j/11eY/9dXmP/XV5j/11e + Yv9dXmP/XV5j/11eY/9dXmP/XV5j/11eYv9dXmP/XV5j/11eY/9dXmL/Xl9j/19gZP9hYmb/ZWZq/3Fx + df+Gh4r/p6eq/8/Q0f/x8fH//v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/11d5f8/P+H/Pj7h/z09 + 4P87O+D/OTng/zc33/82Nt//NDTf/zMz3/8xMd7/MDDesDMz3/80NN//Njbf/zc33/85OeD/Ozvg/zw8 + 4P8+PuD/QEDh/0FB4f9NTeP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz8/+7v + 7//d3d7/ycnL/7a2uP+pqqz/o6Om/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKGk/6GipP+hoqT/oKCj/52eoP+YmZz/kpKW/4iJjf9/gIT/enuA/3Z3e/9xcnf/bm90/3Bx + dv90dXr/eXp//35/g/+Gh4r/kJCU/5eXmv+cnaD/n6Ci/6GipP+hoqT/oaGk/6Cho/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oqKl/6eoqv+ys7X/xMTG/9jY2f/q6+v/+fn5//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/11d5f9AQOH/Pz/h/z094P88POD/Ojrg/zg4 + 4P82Nt//NTXf/zMz3/8xMd7/MTHesDMz3/81Nd//Njbf/zg44P86OuD/Ozvg/z094P8/P+H/QEDh/0FB + 4f9OTuP/xsb2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////39 + /f/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//5+fr/8/Pz/+jo + 6f/Y2dv/w8TH/7Gytv+jpKj/lZab/4qLkP+Ehov/goOJ/3+Ahv99foT/e3yC/3x9g/9/gIb/gYKI/4SF + iv+IiY//kZKX/5+gpf+urrL/vr/C/9TU1v/l5eb/8PDx//j4+P/7+/v/+/v7//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//8/Pz///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/11d5f9AQOH/Pz/h/z4+4P88POD/Ozvg/zk54P83N9//NTXf/zQ0 + 3/8yMt//MTHesDMz3/81Nd//Nzff/zg44P86OuD/PDzg/z4+4P9AQOH/QUHh/0JC4f9NTeP/xsb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+Pj4/+Pj5P/IyMv/sLC0/5qan/+IiY//fn+F/3p7 + gf94eX//d3h+/3d4fv92d33/dnd9/3Z3fP91d3z/dnd8/3V3fP92d33/dnd9/3Z3ff93eH7/d3h+/3h5 + f/95eoD/fX6E/4WGjP+Vlpv/qqqv/8LCxf/c3N7/8/T0//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/15e5v9BQeH/QEDh/z4+4f89PeD/Ozvg/zk54P84ON//Njbf/zQ03/8yMt//MjLfsDQ0 + 3/81Nd//Nzff/zk54P87O+D/PDzg/z4+4P9AQOH/QUHh/0JC4f9OTuP/xsb2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/+zs7f/OztH/rK2x/5CRlv+AgYf/eXqA/3Z3ff92d33/dXZ8/3R1e/9zdHr/cnR5/3Jz + eP9xcnj/cXJ3/3Bxd/9wcXf/cHF2/3Bxdv9wcXf/cXJ3/3Fyd/9xc3j/cnN5/3N0ev90dXv/dXZ8/3Z3 + fP92d33/eHl//31/hf+LjJH/pKSp/8bGyf/l5uf/+fn5//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/15e + 5v9BQeH/QEDh/z8/4f89PeD/Ozvg/zk54P84ON//Njbf/zQ03/8zM9//MjLfsDQ03/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z4+4f9AQOH/QkLh/0ND4f9PT+P/xsb2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////r6+v/k5Ob/vb7B/5aW + nP+Bgoj/eXqA/3Z3ff91dnz/dHV7/3Jzef9xcnj/cHF2/29wdf9ub3T/bW5z/2xtc/9sbXL/a2xy/2ts + cf9rbHH/a2xx/2tscf9rbHH/a2xx/2xtcv9sbXP/bW5z/25vdP9vcHX/cHF2/3Fyd/9yc3n/c3V6/3V2 + e/92d33/eHl//35/hf+PkJX/srK2/9zd3v/29vf///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/ + 4f8+PuD/PDzg/zo64P84OOD/Nzff/zU13/8zM9//MjLfsDU13/82Nt//ODjg/zo64P87O+D/PT3g/z8/ + 4f9AQOH/QkLh/0ND4f9PT+P/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////7+/v/4uLk/7m6vf+TlJn/fX6E/3d5f/92d33/dHV7/3Jz + ef9wcXf/b3B1/21udP9sbXL/a2xx/2prcP9pam//aGlu/2hpbv9naG3/Z2ht/2ZnbP9mZ2z/Zmds/2Zn + bP9mZ2z/Z2hs/2dobf9oaW7/aGlu/2lqb/9qa3D/a2xx/2xtcv9tbnP/b3B1/3Bxd/9yc3j/dHV6/3V3 + fP93eH7/enyC/4uMkv+vsLT/2Nnb//f39/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/4f8+PuD/PDzg/zo6 + 4P85OeD/Nzff/zY23/80NN//MjLfsDU13/83N9//ODjg/zo64P88POD/Pj7g/z8/4f9BQeH/Q0Ph/0RE + 4f9QUOP/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/+3t7v+/wMP/kpOY/3x9g/93eH7/dXZ8/3N0ev9xcnj/b3B2/21uc/9sbXL/amtw/2lq + b/9oaW3/Z2ds/2Zma/9lZmr/ZGVq/2Nkaf9jZGj/YmNo/2JjaP9iY2f/YmNn/2JjZ/9iY2j/YmNo/2Nk + aP9jZGn/ZGVp/2Rlav9lZmv/Zmds/2dobf9oaW7/amtw/2tscv9tbnP/b3B1/3Fyd/9zdHn/dXZ8/3Z3 + ff96e4H/iouQ/7Kzt//k5Ob//Pz8//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/2Bg5v9DQ+H/QkLh/0BA4f8+PuH/PT3g/zs74P85OeD/Nzff/zY2 + 3/80NN//MzPfsDU13/83N9//OTng/zo64P88POD/Pj7g/0BA4f9BQeH/Q0Ph/0RE4f9QUOP/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////29vb/0tLU/52e + ov9/gIb/d3h+/3V2fP9zdHr/cXJ3/25vdf9sbXP/a2xx/2lqb/9naG3/Zmdr/2Rlav9jZGn/YmNo/2Fi + Z/9gYWb/YGFl/19gZP9fYGT/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9fYGT/YGFl/2Bh + Zv9hYmb/YmNn/2NkaP9kZWr/ZWZr/2dobP9oaW7/amtw/2xtcv9ub3T/cHF2/3Jzef90dXv/dnd9/3t8 + gv+TlJn/xMXH//Dw8f/+/v7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Bg5v9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw84P86OuD/ODjf/zY23/80NN//MzPfsDY2 + 3/83N9//OTng/zs74P88POD/Pj7h/0BA4f9CQuH/Q0Ph/0RE4f9QUOP/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+jp6v+ztLf/h4iO/3h6gP92d33/c3R6/3Fy + d/9ub3X/bG1y/2prcP9oaW7/Zmds/2Rlav9jZGj/YmNn/2BhZv9fYGT/Xl9j/11eYv9dXmL/XF1h/1tc + YP9bXGD/W1tf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1tcYP9bXGD/XF1h/1xdYv9dXmL/Xl9j/19g + ZP9gYWX/YWJn/2JjaP9kZWr/Zmds/2dobf9pam//a2xx/25vdP9wcXb/c3R5/3V2fP94eX//gYKI/6Wm + q//d3d///Pz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Bg + 5v9DQ+H/Q0Ph/0FB4f8/P+H/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/84ON//OTng/zs7 + 4P89PeD/Pz/h/0BA4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////7+/v/2trc/56eo/99foT/dnd9/3R1e/9xcnj/b3B1/2xtcv9qa3D/aGlu/2Zn + a/9kZWn/YmNo/2BhZv9fYGT/Xl9j/11dYv9cXGH/Wltf/1pbXv9ZWl7/WVld/1hZXf9XWFz/V1hc/1dY + W/9XWFv/Vldb/1ZXW/9XWFv/V1hc/1dYXP9YWVz/WFld/1laXv9ZWl7/Wltf/1tcYP9cXWH/Xl5j/19g + ZP9gYWb/YmNn/2Nkaf9lZmv/Z2ht/2lqb/9sbXL/bm90/3Fyd/90dXr/dnd9/3p7gf+Sk5j/y8vO//f3 + +P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Fh5v9EROH/Q0Ph/0FB + 4f8/P+H/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/84ON//OTng/zw84P89PeD/Pz/h/0FB + 4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////X1 + 9v/Fxsn/jo+U/3h6gP91dnz/c3R5/3Bxdv9tbnP/amtw/2hpbv9mZ2z/ZGVp/2JjZ/9gYWX/Xl9j/11e + Yv9cXGH/Wltf/1laXv9YWV3/V1hc/1ZXW/9WV1r/VVZa/1VWWf9UVVn/VFVY/1RUWP9TVFj/U1RY/1NU + WP9UVFj/VFVY/1RVWf9UVVn/VVZZ/1ZWWv9WV1v/V1hc/1hZXf9ZWl7/Wltf/1tcYP9cXWH/Xl9j/2Bh + Zf9hYmf/Y2Rp/2Vma/9naG3/amtw/2xtcv9vcHX/cnN5/3V2fP93eX//hIaL/7a3uv/t7e7///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Fh5v9EROH/Q0Ph/0JC4f9AQOH/Pj7h/zw8 + 4P86OuD/OTng/zc33/81Nd//NTXfsDY23/84OOD/Ojrg/zw84P8+PuD/Pz/h/0FB4f9DQ+H/RUXi/0VF + 4v9RUeT/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8vLz/7m5vf+EhYv/d3l//3V2 + e/9xcnj/bm91/2xtcv9pam//Zmds/2Rlav9iY2f/YGFl/15fY/9cXWH/W1xg/1laXv9YWV3/V1hc/1ZX + W/9VVln/VFVZ/1NUWP9TU1f/UlNW/1JSVv9RUlX/UVJV/1FRVf9RUVX/UVFV/1FRVf9RUlX/UVJV/1FS + Vf9SUlb/UlNW/1NTV/9TVFj/VFVY/1VWWf9WV1r/V1hb/1hZXf9ZWl7/Wltf/1xdYf9eX2P/X2Bl/2Fi + Z/9jZGn/Zmdr/2hpbv9rbHH/bm90/3Fyd/90dXv/d3h+/35/hf+pqa7/5+jp//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Fh5v9EROH/RETh/0JC4f9AQOH/Pj7h/z094P87O+D/OTng/zc3 + 3/82Nt//NTXfsDc33/85OeD/Ojrg/zw84P8+PuD/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9RUeT/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////v7/D/s7O3/4CCh/93eH7/dHV7/3Fyd/9tbnT/amtx/2hp + bv9lZmv/Y2Ro/2BhZv9eX2T/XF1i/1tcYP9ZWl7/WFlc/1ZXW/9VVlr/VFVZ/1NUV/9SU1b/UVJW/1FR + Vf9QUVT/T1BT/09QU/9OT1P/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PU/9PUFP/T1BT/1BR + VP9QUVX/UVJV/1JTVv9TU1f/VFRY/1VWWf9WV1v/V1hc/1laXv9aW1//XF1h/15fY/9gYWX/YmNo/2Rl + av9naG3/amtw/21uc/9wcXb/c3R6/3Z3ff98fYP/oaKn/+Tk5v/+/v7///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9FReL/RETh/0JC4f9AQOH/Pz/h/z094P87O+D/OTng/zc33/82Nt//NTXfsDc3 + 3/85OeD/Ojrg/zw84P8+PuD/Pz/h/0FB4f9DQ+H/RUXi/0ZG4v9SUuT/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+zs7f+rrLD/fn+F/3Z3ff9zdHr/cHF2/21uc/9pa3D/Z2hs/2Rlaf9hYmf/X2Bk/11e + Yv9bXGD/WVpe/1hYXP9WV1v/VVZZ/1NUWP9SU1f/UVJW/1BRVP9PUFP/T09T/05PUv9NTlH/TU5R/0xN + UP9MTVD/TE1Q/0xMT/9MTE//S0xP/0xMT/9MTE//TE1Q/0xNUP9MTVD/TU1R/01OUf9OT1L/Tk9T/09Q + U/9QUVT/UVJV/1JTVv9TVFf/VFVZ/1ZXWv9XWFz/WVpe/1tcYP9dXWL/X19k/2FiZv9jZGn/Zmds/2lq + b/9sbXL/b3B1/3Jzef92d33/enuB/5ucof/f3+H//v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Ji + 5v9FReL/RETh/0JC4f9BQeH/Pz/h/z094P87O+D/Ojrg/zg44P82Nt//NTXfsDc33/85OeD/Ozvg/z09 + 4P8+PuH/QEDh/0JC4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////7/Dw/6yt + sf99f4X/dnd9/3N0ev9vcHb/bG1y/2lqb/9mZ2z/Y2Rp/2BhZv9eX2P/XF1h/1pbX/9YWV3/Vldb/1VW + Wf9TVFj/UlNW/1FSVf9QUVT/T09T/05OUv9NTlH/TE1Q/0xMUP9LTE//S0tO/0pLTv9KS07/SkpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SkpN/0pLTv9KS07/SktO/0tMT/9LTE//TE1Q/01NUf9OTlL/Tk9T/09Q + U/9QUVX/UlJW/1NUV/9UVVn/Vldb/1hZXP9ZWl7/W1xg/15fY/9gYWX/YmNo/2Vma/9oaW7/a2xx/25v + df9yc3n/dXd8/3p7gf+cnaH/4uLk//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND + 4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/z094P8+PuH/QEDh/0JC + 4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////z8/T/tLW4/3+Ahv92d33/c3R6/29w + dv9sbXL/aGlu/2Vma/9jZGj/YGFl/11eYv9bXGD/WVpe/1dYXP9VVlr/VFVY/1JTV/9RUVX/T1BU/05P + Uv9NTlH/TE1Q/0tMT/9LTE//SktO/0lKTf9JSk3/SElM/0hJTP9ISUv/SEhL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0hIS/9ISUz/SElM/0lKTP9JSk3/SktO/0tLTv9LTE//TE1Q/01OUf9OT1L/T1BT/1BR + Vf9SU1b/U1RY/1VWWf9XV1v/WFld/1tbX/9dXmL/X2Bk/2JjZ/9lZmr/aGlt/2tscf9ub3X/cnN4/3Z3 + ff97fIL/oaKm/+np6v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND4f9BQeH/QEDh/z09 + 4P88POD/Ojrg/zg44P83N9//NTXfsDg44P86OuD/Ozvg/z094P8/P+H/QEDh/0JC4f9EROH/Rkbi/0dH + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////b29/+6u77/gYKI/3Z3ff9zdHn/b3B1/2tscv9oaW7/ZWZr/2Jj + aP9fYGX/XV5i/1pbX/9YWV3/Vldb/1RVWf9TU1f/UVJV/1BQVP9OT1L/TU5R/0xNUP9LTE//SktO/0lK + Tf9JSUz/SElM/0dIS/9HSEr/RkdK/0ZHSv9GR0n/RkZJ/0VGSf9FRkn/RUZJ/0ZGSf9FRkn/RkZJ/0ZH + Sf9GR0n/RkdK/0dISv9HSEv/SElM/0hJTP9JSk3/SktO/0tMT/9MTVD/TU5R/05PUv9PUFP/UVJV/1JT + V/9UVVj/Vlda/1hZXP9aW1//XF1h/19gZP9hYmf/ZGVq/2dobf9rbHH/bm90/3JzeP92d33/e3yC/6io + rf/t7e7///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND4f9CQuH/QEDh/z4+4P88POD/Ojrg/zk5 + 4P83N9//NjbfsDg44P85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9EROH/Rkbi/0dH4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/8nJzP+Gh4z/d3h+/3N1ev9vcHb/bG1y/2hpbv9lZmv/YmNn/19gZP9cXWH/Wltf/1hY + XP9VVlr/VFVY/1JTVv9QUVX/T1BT/01OUf9MTVD/S0xP/0pLTv9JSk3/SElM/0dIS/9HR0r/RkdK/0ZG + Sf9FRkn/RUZI/0RFSP9ERUj/REVH/0RFR/9ERUf/REVH/0RER/9ERUf/REVH/0RFR/9ERUj/RUVI/0VG + Sf9GRkn/RkdK/0dHSv9HSEv/SElM/0lKTP9KS07/S0xP/0xNUP9NTlH/Tk9T/1BRVP9RUlb/U1RY/1VW + Wv9XWFz/WVpe/1xdYf9eX2P/YWJn/2Rlav9naG3/a2xx/25vdf9yc3n/dnd9/35/hf+1trn/9vb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//NjbfsDg4 + 4P86OuD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9TU+T/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d3f/5CR + lv94eX//dHV7/3Bxdv9sbXL/aGlu/2Vma/9iY2f/X2Bk/1xdYf9aW1//V1hc/1VWWv9TVFj/UVJW/1BQ + VP9OT1L/TU5R/0tMT/9KS07/SUpN/0hJTP9HSEv/R0dK/0ZGSf9FRkj/REVI/0RFR/9EREf/Q0RH/0NE + Rv9DQ0b/QkNG/0JDRv9CQ0X/QkNF/0JDRf9CQ0b/Q0NG/0NDRv9DREb/Q0RG/0RER/9ERUf/REVI/0VG + SP9GRkn/RkdK/0dIS/9ISUz/SUpN/0pLTv9LTE//TE1Q/05PUv9PUFP/UVJV/1NUV/9VVln/V1hb/1la + Xv9cXGH/Xl9k/2FiZ/9kZWr/aGlt/2tscf9vcHX/c3R6/3Z4fv+Fhoz/ycrN//39/f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9GRuL/Rkbi/0RE4f9CQuH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//NjbfsDg44P86OuD/PDzg/z09 + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0dH4v9TU+T/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////r6+z/oaKm/3l6gP91dnz/cXJ3/21u + c/9pam//ZWZr/2JjZ/9fYGT/XF1h/1paXv9XWFz/VVZZ/1NUV/9RUlX/T1BT/01OUf9MTVD/S0tO/0lK + Tf9JSUz/R0hL/0ZHSv9GRkn/RUZI/0RFSP9DREf/Q0RG/0NDRv9CQ0X/QkNF/0JCRf9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkX/QkJF/0JDRf9CQ0b/Q0RG/0RER/9ERUf/RUVI/0VG + Sf9GR0r/R0hL/0hJTP9JSk3/SktO/0xMUP9NTlH/T1BT/1BRVf9SU1f/VFVZ/1dXW/9ZWl7/XFxh/15f + ZP9hYmf/ZGVq/2hpbv9sbXL/cHF2/3R1e/94eX//kJGW/93d3/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE + 4f9CQuH/QUHh/z8/4f89PeD/Ozvg/zk54P83N9//NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND + 4f9FReL/R0fi/0dH4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////j4+P+4uLz/fn+F/3Z3ff9yc3j/bm90/2prcP9mZ2z/YmNo/19g + Zf9cXWH/Wltf/1dYXP9VVln/U1NX/1FSVf9PUFP/TU5R/0xMUP9KS07/SUpN/0hJS/9HSEr/RkdJ/0VG + SP9ERUj/Q0RH/0NDRv9CQ0X/QkJF/0FCRP9BQkT/QUFE/0BBRP9AQUP/QEFD/0BAQ/9AQEP/QEBD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QUFE/0FCRP9BQkT/QkJF/0JDRv9DQ0b/Q0RH/0RFR/9FRUj/RkZJ/0dH + Sv9ISEv/SUlM/0pLTv9LTE//TU5R/05PU/9QUVT/UlNX/1RVWf9XV1v/WVpe/1xdYf9fYGT/YmNn/2Vm + a/9pam//bG1z/3Fyd/91dnz/eXqB/6Okqf/u7u////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/ + 4f89PeD/Ozvg/zk54P84ON//NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND4f9FReL/R0fi/0hI + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9fY2v+Ki5H/d3h+/3N0ev9vcHX/a2xx/2dobP9jZGn/YGFl/11eYv9aW1//V1hc/1VW + Wv9TVFf/UVJV/09QU/9NTlH/S0xP/0pLTv9JSUz/R0hL/0ZHSv9FRkn/REVI/0RER/9DQ0b/QkNF/0FC + Rf9BQkT/QUFE/0BBQ/9AQEP/QEBD/z9AQv8/QEL/P0BC/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z9A + Qv8/QEL/P0BC/0BBQ/9AQUP/QEFE/0FCRP9BQkX/QkNF/0NDRv9DREf/REVH/0VGSf9GR0n/R0hL/0hJ + TP9KSk3/S0xP/01NUf9OT1L/UFFU/1JTV/9UVVn/V1hb/1laXv9cXWH/X2Bk/2JjaP9mZ2z/amtw/25v + dP9yc3j/dnd9/4CBh//Dw8b/+/v8//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z4+4f89PeD/PDzg/zo6 + 4P83N9//NjbfsDk54P86OuD/PDzg/z4+4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8fHy/6Oj + qP95eoD/dXZ7/3Bxd/9sbXL/aGlu/2Rlav9hYmb/XV5j/1pbX/9YWV3/VVZa/1NUV/9RUlX/T1BT/01O + Uf9LTE//SktO/0hJTP9HSEv/RkdJ/0VGSP9ERUf/Q0RG/0JDRv9CQkX/QUJE/0BBQ/9AQUP/P0BD/z9A + Qv8/P0L/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4+Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z8/ + Qv8/QEL/P0BC/0BAQ/9AQUP/QUJE/0FCRf9CQ0X/Q0RG/0RER/9FRUj/RkZJ/0dISv9ISUz/SUpN/0tM + T/9MTVD/Tk9S/1BRVP9SU1f/VVZZ/1dYXP9aW1//XV5i/2BhZf9jZGn/Z2ht/2tscf9vcHX/c3R6/3d4 + fv+Sk5j/4eHj//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z4+4P89PeD/Ozvg/zo64P83N9//NjbfsDk5 + 4P87O+D/PDzg/z4+4f9AQOH/QUHh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////8/Pz/xsbJ/4GCiP92d33/cnN4/21u + dP9pam//ZWZr/2JjZ/9eX2T/W1xg/1hZXf9WV1r/U1RY/1FSVf9PUFP/TU5R/0tMT/9KSk3/SElM/0dI + Sv9GRkn/RUVI/0RER/9DQ0b/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/Pj9B/z4/Qf8+P0H/Pj5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5A/z4+Qf8+P0H/Pj9B/z8/ + Qv8/QEL/QEBD/0BBQ/9BQkT/QkJF/0JDRv9DREf/REVI/0VGSf9HR0r/SElL/0lKTf9LTE//TU1R/05P + U/9QUVX/U1NX/1VWWv9YWVz/W1tf/15fY/9hYmb/ZGVq/2hpbv9sbXL/cXJ3/3V2fP97fIL/r7C0//b3 + 9/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z4+4f89PeD/Ozvg/zo64P83N9//NjbfsDk54P86OuD/PDzg/z4+ + 4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////o6er/mJid/3d4fv90dXr/b3B1/2tscf9naGz/Y2Ro/19g + Zf9cXWH/WVpe/1ZXW/9UVVj/UlJW/09QU/9NTlH/TExP/0pLTf9ISUz/R0hK/0ZGSf9ERUj/Q0RH/0JD + Rv9CQkX/QUJE/0BBQ/9AQEP/P0BC/z4/Qf8+P0H/Pj5A/z0+QP89PkD/PT5A/z09P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//z09P/89PUD/PT5A/z0+QP89PkD/PT5A/z4/Qf8+P0H/Pz9C/z9A + Qv9AQUP/QUFE/0FCRf9CQ0X/Q0RG/0RFR/9FRkn/RkdK/0hJTP9JSk3/S0xP/01OUf9PUFP/UVJV/1NU + WP9WV1r/WFld/1tcYP9fYGT/YmNn/2Zna/9qa3D/bm90/3J0ef93eH7/iImO/9jY2v////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE + 4v9CQuH/QUHh/z8/4f89PeD/Ozvg/zo64P84OOD/NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND + 4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////z8/P/CwsX/f4CG/3V2fP9xcnj/bG5z/2hpbv9kZWr/YWJm/11eYv9aW1//V1hc/1RV + Wf9SU1b/UFFU/05PUv9MTVD/SktO/0hJTP9HSEr/RUZJ/0RFSP9DREf/QkNG/0FCRP9BQUT/QEFD/z9A + Qv8/P0L/Pj9B/z4+QP89PkD/PT5A/z09P/88PT//PD0//zw9P/88PT//PDw//zw8Pv88PD7/PDw+/zw8 + Pv88PD7/PDw+/zw8P/88PT//PD0//zw9P/89PT//PT5A/z0+QP8+PkD/Pj9B/z4/Qf8/QEL/QEBD/0BB + Q/9BQkT/QkNF/0NERv9ERUf/RUZJ/0ZHSv9ISUv/SUpN/0tMT/9NTlH/T1BT/1FSVv9UVVj/Vldb/1la + Xv9dXWL/YGFl/2Nkaf9naG3/a2xx/3Bxdv91dnv/eXuB/6ussP/29vb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/R0fi/0RE4f9DQ+H/QUHh/z8/ + 4f89PeD/Ozvg/zo64P84OOD/NjbfsDk54P87O+D/PT3g/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI + 4v9UVOT/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+rq + 6/+Zmp//d3h+/3N0ev9vcHX/amtw/2ZnbP9iY2j/X2Bk/1tcYP9YWV3/VVZa/1NUV/9QUVX/Tk9S/0xN + UP9KS07/SUlM/0dIS/9GRkn/REVI/0NER/9CQ0X/QUJE/0BBQ/9AQEP/P0BC/z4/Qf8+P0H/PT5A/z0+ + QP89PT//PD0//zw9P/88PD//PDw+/zw8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zw8P/88PT//PD0//z09P/89PkD/PT5A/z4+Qf8+P0H/P0BC/0BAQ/9AQUP/QUJE/0JD + Rf9DREb/REVH/0VGSf9HR0r/SElM/0pLTv9MTFD/Tk5S/1BRVP9SU1b/VVVZ/1hYXP9bW2D/Xl9j/2Fi + Z/9lZmv/aWpv/25vdP9yc3n/dnd9/4qLkf/Z2dv///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/4f89PeD/PDzg/zo6 + 4P83N9//NjbfsDk54P87O+D/PT3g/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////f39/8bHyv+AgYf/dnd8/3Fy + eP9sbXP/aGlu/2Rlav9gYWb/XV5i/1paXv9XV1v/VFVY/1FSVv9PUFP/TU5R/0tMT/9JSk3/R0hL/0ZH + Sf9FRUj/Q0RH/0JDRf9BQkT/QEFD/0BAQ/8/QEL/Pj9B/z4+Qf89PkD/PT1A/zw9P/88PT//PDw+/zw8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/PDw+/zw9P/88PT//PT0//z0+QP89PkD/Pj9B/z8/Qv8/QEL/QEFD/0FCRP9CQ0X/Q0RG/0RF + SP9GRkn/R0hL/0lKTP9KS07/TE1Q/05PU/9RUlX/U1RY/1ZXW/9ZWl7/XF1h/19gZf9jZGn/Z2ht/2ts + cf9wcXb/dHV7/3p7gf+wsbX/9/f3//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0VF4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zo64P84ON//NzffsDk5 + 4P86OuD/PDzg/z4+4P8/P+H/QkLh/0RE4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////8vLz/56fpP94eX//dHV6/29wdf9qa3D/Zmds/2Jj + aP9eX2T/W1xg/1hZXf9VVlr/UlNX/1BRVP9OTlL/TExP/0pKTf9ISUv/RkdK/0VGSP9EREf/QkNG/0FC + RP9AQUT/QEBD/z9AQv8+P0H/Pj5A/z0+QP89PT//PD0//zw8Pv88PD7/Ozw+/zs8Pv87PD7/Ozs9/zs7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozw+/zs8 + Pv88PT//PD0//zw9P/89PkD/PT5A/z4/Qf8/P0L/P0BC/0BBQ/9BQkT/QkNF/0NER/9FRUj/RkdK/0hI + S/9JSk3/S0xP/01OUf9PUFP/UlJW/1RVWf9XWFz/Wltf/15fY/9hYmf/ZWZr/2lqb/9ub3T/cnR5/3Z3 + ff+Oj5T/4eLj//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Rk + 5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z8/4f89PeD/Ozvg/zo64P84OOD/NzffsDk54P86OuD/PDzg/z4+ + 4P9AQOH/QkLh/0ND4f9GRuL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////2dnb/4aHjf92d33/cnN4/21uc/9oaW7/ZGVq/2BhZv9dXmL/WVpe/1ZX + W/9UVFj/UVJV/09PU/9MTVD/SktO/0lJTP9HSEr/RUZJ/0RFR/9DQ0b/QkJF/0FBRP9AQEP/P0BC/z4/ + Qf89PkD/PT5A/z09P/88PT//PDw+/zs8Pv87PD7/Ozs+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zs8Pv87PD7/PDw+/zw9 + P/88PT//PT1A/z0+QP8+P0H/Pz9C/z9AQv9AQUP/QUJF/0JDRv9EREf/RUZI/0dHSv9ISUz/SktO/0xN + UP9OT1L/UFFU/1NUV/9WV1r/WVld/1xdYf9fYGX/Y2Rp/2dobf9sbXL/cHF3/3V2fP99foT/wsPG//39 + /f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE + 4f9DQ+H/QUHh/z8/4f89PeD/Ozvg/zo64P84ON//NjbfsDk54P87O+D/PDzg/z4+4P9AQOH/QkLh/0ND + 4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///7+/v/t7e7/3t8gv91dnv/cHF2/2tscf9naGz/Y2Ro/19gZP9bXGD/WFld/1VWWf9SU1f/UFBU/01O + Uf9LTE//SUpN/0dIS/9GR0n/REVI/0NERv9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+QP89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo7PP86Ozz/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zs8Pv88PT//PD0//z09 + QP89PkD/Pj9B/z9AQv9AQEP/QUFE/0JCRf9DQ0b/REVH/0ZGSf9HSEv/SUpN/0tMT/9NTlH/T1BT/1JT + Vv9UVVn/V1hc/1pbX/9eX2P/YWJn/2Zna/9qa3D/bm91/3N0ev94eX//oKGl//Pz9P////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9DQ+H/QUHh/z4+ + 4f89PeD/Ozvg/zk54P84ON//NzffsDk54P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI + 4v9UVOT/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////q6+z/mJmd/3d4 + fv9zdHr/bm90/2lqb/9lZmv/YWJm/11eYv9aW1//V1db/1RVWP9RUlX/Tk9T/0xNUP9KS07/SElM/0ZH + Sv9FRkj/RERH/0JDRf9BQkT/QEFD/z9AQv8+P0H/Pj5B/z0+QP89PT//PD0//zw8Pv87PD7/Ozw+/zs7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP85Ojz/Ojo8/zk6PP85Ojz/OTo8/zo6 + PP86Ojz/Ojo8/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozs+/zs8Pv87PD7/PD0//zw9P/89PkD/PT5A/z4/ + Qf8/QEL/QEFD/0FCRP9CQ0X/Q0RH/0VGSP9GR0r/SElL/0pKTf9MTFD/Tk9S/1BRVf9TVFf/Vldb/1la + Xv9cXWH/YGFl/2Rlav9oaW7/bW5z/3JzeP92d33/h4iO/9rb3f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9DQ+H/QEDh/z8/4f89PeD/Ozvg/zo6 + 4P84ON//NzffsDk54P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////T1Nb/hYaM/3V2fP9xcnj/bG1y/2hp + bv9jZGn/YGBl/1xdYf9YWV3/VVZa/1JTV/9QUVT/TU5R/0tMT/9JSk3/SEhL/0ZGSf9ERUf/Q0RG/0JC + Rf9BQUT/QEBD/z8/Qv8+P0H/PT5A/z09P/88PT//PDw//zs8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6 + PP86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Ojz/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zw9P/88PT//PT5A/z4+Qf8+P0H/P0BC/0BB + Q/9BQkT/QkNG/0RFR/9FRkn/R0hL/0lJTP9LTE//TU5R/09QU/9SU1b/VVZZ/1hZXf9bXGD/X19k/2Jj + aP9naGz/a2xx/3Bxdv91dnz/fH2D/72+wf/9/f3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z8/4f8+PuD/Ozvg/zo64P84ON//NjbfsDk5 + 4P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////z8/P+8vcD/fH2D/3R1e/9wcXb/a2xx/2ZnbP9iY2f/Xl9j/1tb + X/9XWFz/VFVZ/1FSVv9PUFP/TE1Q/0pLTv9ISUz/R0dK/0VGSP9DREf/QkNG/0FCRP9AQUP/P0BC/z4/ + Qf89PkD/PT1A/zw9P/88PD7/Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PT1A/z0+QP8+P0H/Pz9C/0BBQ/9BQUT/QkNF/0NE + Rv9FRUj/RkdK/0hJTP9KS07/TE1Q/05PUv9RUlX/VFRY/1dXW/9aW1//XV5i/2FiZ/9lZmv/amtw/25v + df9zdHr/eHl//6Slqv/19fX///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9GRuL/Rkbi/0RE4f9CQuH/QEDh/z8/4f89PeD/Ozvg/zo64P84OOD/NzffsDk54P86OuD/PDzg/z4+ + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Pz9P+kpan/d3h+/3N0ev9ub3T/aWpv/2Vma/9hYmb/XV5i/1laXv9WV1v/U1RY/1FR + Vf9OT1L/TExQ/0pKTf9ISEv/RkdJ/0RFSP9DREb/QkJF/0FBRP8/QEP/Pz9C/z4+Qf89PkD/PD0//zw8 + Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7 + Pf87Oz3/Ozs+/zs8Pv88PD//PD0//z0+QP8+PkD/Pj9B/z9AQv9AQUP/QUJF/0NDRv9ERUf/RUZJ/0dI + S/9JSk3/S0xP/01OUf9QUVT/U1NX/1VWWv9ZWV3/XF1h/2BhZf9kZWr/aGlu/21uc/9yc3n/dnd9/5GS + l//l5eb///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE + 4f9CQuH/QEDh/z4+4f88POD/Ozvg/zk54P84ON//NjbfsDg44P86OuD/PDzg/z4+4P8/P+H/QUHh/0ND + 4f9FReL/Rkbi/0dH4v9TU+T/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + 5/+Rkpf/dnd9/3JzeP9tbnP/aGlu/2Rlav9gYWX/XF1h/1hZXf9VVlr/UlNX/1BQVP9NTlH/S0xP/0lK + Tf9HSEv/RUZJ/0RER/9CQ0b/QUJE/0BBQ/8/QEL/Pj9B/z0+QP89PUD/PD0//zw8Pv87PD7/Ozs9/zo7 + Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv87PD7/PD0//zw9P/89PkD/Pj9B/z9AQv9AQEP/QUJE/0JDRf9DREf/RUZI/0dHSv9ISUz/SktO/01N + Uf9PUFP/UlJW/1VVWf9YWVz/W1xg/19gZP9jZGj/Z2ht/2xtcv9xcnf/dXZ8/4SFiv/R0tT///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+ + 4P88POD/Ojrg/zk54P83N9//NjbfsDg44P86OuD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////9TV1/+DhIr/dXd8/3Fy + d/9sbXL/Z2ht/2NkaP9fYGT/W1xg/1hZXP9UVVn/UlJW/09QU/9NTVD/SktO/0hJTP9GR0r/RUVI/0NE + Rv9CQ0X/QUFE/0BAQ/8/P0L/Pj9B/z0+QP88PT//PDw//zs8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTk7/zk6O/85Ojv/OTo7/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ojs9/zs7Pf87PD7/PDw+/zw9 + P/89PkD/Pj5B/z4/Qf8/QEL/QEFD/0JCRf9DREb/REVI/0ZHSf9ISUv/SktO/0xNUP9OT1L/UVJV/1RV + WP9XWFz/Wltf/15fY/9iY2f/Zmds/2tscf9vcXb/dHV7/3x9g/+8vcD//Pz8//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE4f9CQuH/Pz/h/z4+4P88POD/Ojrg/zk5 + 4P83N9//NjbfsDg43/86OuD/Ozvg/z094P8/P+H/QEDh/0JC4f9EROH/Rkbi/0dH4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/8TEx/99foT/dXZ8/3Bxdv9rbHH/Zmds/2Jj + Z/9eX2P/Wltf/1dYXP9UVVj/UVJV/05PUv9MTVD/SkpN/0hIS/9GR0n/REVI/0NDRv9CQkX/QEFD/z9A + Qv8+P0H/Pj5A/z09QP88PT//PDw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw9P/89PT//PT5A/z4/ + Qf8/QEL/QEFD/0FCRP9CQ0b/RERH/0VGSf9HSEv/SUpN/0tMT/9OTlL/UFFU/1NUV/9WV1v/WVpe/11e + Yv9hYmb/ZWZr/2prcP9ub3X/c3R6/3h5f/+trbH/9/f3//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+4P88POD/Ojrg/zg44P83N9//NjbfsDg4 + 3/85OeD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9TU+T/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////+/v8/7W1uf95eoD/dHV7/29wdf9qa3D/ZWZr/2FiZv9dXmL/Wlpe/1ZX + W/9TVFj/UFFV/05OUv9LTE//SUpN/0dIS/9GRkn/REVH/0JDRf9BQkT/QEFD/z9AQv8+P0H/PT5A/z09 + P/88PT//Ozw+/zs8Pv86Oz3/Ojs9/zo7PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87PD7/Ozw+/zw9P/88PT//PT5A/z4/Qf8/P0L/QEBD/0FB + RP9CQ0X/Q0RH/0VGSP9HR0r/SUlM/0tMT/9NTlH/UFBU/1JTV/9VVlr/WVpe/1xdYf9gYWX/ZGVq/2lq + b/9tb3T/c3R5/3Z3ff+foKX/8fHy//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Ji + 5v9GRuL/RUXi/0ND4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/z09 + 4P8+PuH/QUHh/0JC4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////9/f4/6anrP94eX//c3R6/25vdP9pam//ZGVq/2BhZv9dXWL/WVpe/1ZWWv9TU1f/UFFU/01O + Uf9LTE//SUpM/0dHSv9FRkj/RERH/0JDRf9BQkT/QEBD/z4/Qf8+PkH/PT5A/zw9P/88PD7/Ozw+/zs7 + Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Ojz/Ojs9/zo7Pf87Oz7/Ozw+/zw8Pv88PT//PT0//z0+QP8/P0H/P0BC/0FBRP9CQ0X/Q0RG/0VF + SP9GR0r/SElM/0pLTv9MTVD/T1BT/1JTVv9VVln/WFld/1xcYf9fYGX/Y2Rp/2hpbv9tbnP/cnN5/3Z3 + ff+UlZr/6enq//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Ji5v9FReL/RETh/0ND + 4f9BQeH/Pz/h/z094P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/zw84P8+PuD/QEDh/0JC + 4f9EROH/RUXi/0ZG4v9SUuT/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8fHy/5ma + nv93eH7/c3R5/21udP9pam//ZGVq/2BhZf9cXWH/WFld/1VWWv9SU1b/T1BT/01NUf9KS07/SElM/0ZH + Sv9FRUj/Q0RH/0JDRf9BQUT/P0BC/z4/Qf89PkD/PT0//zw9P/88PD7/Ozw+/zo7Pf86Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6 + O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs8/zo7 + Pf86Oz3/Ozw+/zs8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BBQ/9BQkX/Q0NG/0RFSP9GR0n/SElL/0pL + Tv9MTVD/T1BT/1FSVv9UVVn/WFhc/1tcYP9fYGT/Y2Ro/2dobf9sbXL/cXJ4/3Z3ff+JipD/39/h//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Fh5v9FReL/RUXi/0ND4f9BQeH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXfsDc33/85OeD/Ojrg/zw84P8+PuD/QEDh/0JC4f9DQ+H/RUXi/0ZG + 4v9SUuT/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////7e3u/5CRlv93eH7/cnN5/21u + c/9oaW7/ZGRp/19gZf9cXGH/WFld/1VWWf9SU1b/T1BT/0xNUP9KS07/SElM/0ZHSv9ERUj/Q0RG/0JC + Rf9AQUP/P0BC/z4/Qf89PkD/PD0//zw9P/87PD7/Ozw+/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5O/85Ojv/OTo7/zk6 + PP85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozw+/zs8 + Pv88PT//PD0//z0+QP8+P0H/P0BC/0BBQ/9BQkT/Q0NG/0RFR/9GRkn/SEhL/0pKTf9MTVD/Tk9S/1FS + Vf9UVVj/V1hc/1tcYP9eX2T/YmNo/2dobf9rbXL/cXJ3/3V2fP+DhIr/2Nna//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Fh5v9FReL/RUXi/0JC4f9AQOH/Pz/h/z094P87O+D/Ojrg/zg4 + 3/82Nt//NTXfsDc33/84OOD/Ojrg/zw84P8+PuD/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9RUeT/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////6enq/42Ok/92d33/cXN4/2xtcv9oaW3/Y2Rp/19g + ZP9bXGD/WFlc/1RVWf9SUlb/T1BT/0xNUP9KS07/SEhL/0ZHSf9ERUj/Q0RG/0FCRf9AQUP/P0BC/z4/ + Qf89PkD/PT0//zw9P/87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk5O/85Ojv/OTo7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zk6PP85Ojv/OTk7/zk6 + O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+ + QP8+P0H/Pz9C/0BBQ/9BQkT/QkNG/0RFR/9GRkn/R0hL/0pKTf9MTE//Tk9S/1FSVf9UVVj/V1hc/1pb + X/9eX2P/YmNn/2ZnbP9rbHH/cHF3/3V2fP+Bgoj/1NTW//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9FReL/RETh/0JC4f9AQOH/Pz/h/z094P87O+D/OTng/zg44P82Nt//NTXfsDc3 + 3/84OOD/Ojrg/zw84P89PeD/Pz/h/0FB4f9CQuH/RETh/0VF4v9RUeT/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OXm/4uMkf92d33/cXJ4/2xtcv9naG3/Y2Ro/19gZP9bXGD/V1hc/1RV + Wf9RUlX/T09T/0xNUP9KSk3/SEhL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8 + Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk5 + O/85Ojv/OTo7/zk5O/85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+P0H/Pz9C/0BA + Q/9BQkT/QkNG/0RFR/9FRkn/R0hL/0lKTf9LTE//Tk9S/1FRVf9TVFj/V1db/1pbX/9eX2P/YmNn/2Zn + bP9rbHH/cHF2/3V2fP+AgYf/z8/R//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Fh + 5v9EROL/RETh/0JC4f9AQOH/Pj7g/zw84P87O+D/OTng/zg43/82Nt//NDTfsDY23/84ON//OTng/zs7 + 4P89PeD/Pj7h/0BA4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4ODi/4iJj/92d33/cXJ4/2xtcv9naG3/Y2Ro/19gZP9bXGD/V1hc/1RVWP9RUlX/Tk9S/0xN + UP9KSk3/SEhL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8Pv87PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk5O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7PP86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNF/0RE + R/9FRkn/R0hL/0lKTf9LTE//Tk5S/1BRVf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2 + fP9/gIb/ysrN//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Bg5v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/83N9//OTng/zs74P89PeD/Pj7h/0BA + 4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d7f/4eI + jv92d33/cXJ4/2xtcv9naG3/Y2Ro/19fZP9bXGD/V1hc/1RVWP9RUlX/Tk9S/0xNUP9KSk3/SEhL/0ZG + Sf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk5 + O/85OTv/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7 + Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNF/0RER/9FRkn/R0hL/0lK + Tf9LTE//Tk9S/1BRVf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP9+f4X/x8fK//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Bg5v9DQ+H/Q0Ph/0FB4f9AQOH/Pj7g/zw8 + 4P86OuD/ODjg/zY23/81Nd//NDTfsDY23/83N9//OTng/zs74P89PeD/Pj7h/0BA4f9BQeH/Q0Ph/0VF + 4v9RUeP/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4OHi/4mKj/92d33/cXJ4/2xt + cv9naG3/Y2Ro/19fZP9bXGD/V1hc/1RVWf9RUlX/Tk9S/0xNUP9KSk3/SEhL/0ZHSf9ERUf/QkNG/0FC + RP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8P/87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6PP85Ojv/OTo7/zk5O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNG/0RER/9FRkn/R0hL/0lKTf9LTE//Tk9S/1BR + Vf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP9/gIb/ysvN//7+/v////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/2Bg5v9DQ+H/Q0Ph/0FB4f8/P+H/PT3g/zw84P86OuD/OTng/zY2 + 3/81Nd//NDTfsDU13/83N9//OTng/zo64P88POD/Pj7g/z8/4f9BQeH/Q0Ph/0RE4f9QUOP/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eXm/4uMkv92d33/cXJ4/2xtcv9naG3/Y2Ro/19g + ZP9bXGD/V1hc/1RVWf9RUlb/T09T/0xNUP9KS03/SElL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/ + Qf89PkD/PD0//zw9P/87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTk7/zk5O/85Ojv/OTk7/zk6O/85Ojz/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6 + O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7PP86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+ + QP8+P0H/Pz9C/0BAQ/9BQkT/QkNG/0RER/9FRkn/R0hL/0lKTf9LTE//Tk9S/1FRVf9TVFj/V1db/1pb + X/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP+AgYf/z9DS//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/2Bg5v9DQ+H/QkLh/0FB4f8/P+H/PT3g/zs74P85OeD/ODjg/zY23/80NN//MzPfsDU1 + 3/82Nt//ODjg/zo64P88POD/PT3g/z8/4f9AQOH/Q0Ph/0ND4f9QUOP/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6err/42OlP92d33/cnN4/2xtc/9oaW3/Y2Rp/19gZP9bXGD/WFlc/1RV + Wf9RUlb/T1BT/0xNUP9KS07/SElM/0ZHSf9ERUj/Q0RG/0FCRf9AQUP/P0BC/z4/Qf89PkD/PD0//zw8 + P/87PD7/Ozs9/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+P0H/Pz9C/0BB + Q/9BQkT/QkNG/0RFR/9GRkn/R0hL/0lKTf9MTE//Tk9S/1FSVf9UVVj/V1hc/1pbX/9eX2P/YmNo/2Zn + bP9rbHH/cHF3/3V2fP+Bgoj/1NXX//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/19f + 5v9DQ+H/QkLh/0BA4f8+PuD/PDzg/zo64P85OeD/Nzff/zU13/8zM9//MjLfsDU13/82Nt//ODjf/zo6 + 4P87O+D/PT3g/z8/4f9AQOH/QkLh/0ND4f9PT+P/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7e3u/5GSl/93eH7/cnN5/21uc/9oaW7/Y2Rp/19gZf9bXGD/WFld/1VWWf9SU1b/T1BT/0xN + UP9KS07/SElM/0ZHSv9FRUj/Q0RG/0JCRf9AQUP/P0BC/z4/Qf89PkD/PT0//zw9P/87PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PT//PD0//z0+QP8+P0H/P0BC/0BBQ/9BQkT/QkNG/0RF + SP9GRkn/SEhL/0pKTf9MTVD/Tk9S/1FSVf9UVVn/V1hc/1tbX/9eX2T/Y2No/2dobf9sbXL/cXJ3/3V3 + fP+EhYv/2dnb//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/ + 4f8+PuD/PDzg/zo64P84OOD/Nzff/zU13/8zM9//MjLfsDQ03/82Nt//Nzff/zk54P86OuD/PDzg/z4+ + 4f9AQOH/QkLh/0JC4f9OTuP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8vLz/5qb + oP93eH7/c3R5/21udP9pam//ZGVq/2BhZf9cXWH/WFld/1VWWv9SU1b/T1BU/01OUf9KS07/SElM/0ZH + Sv9FRkj/Q0RG/0JDRf9BQUT/P0BC/z4/Qf89PkD/PT0//zw9P/88PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7 + Pf87Oz3/Ozw+/zs8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BBQ/9BQkX/Q0RG/0RFSP9GR0r/SElM/0pL + Tv9MTVD/T09T/1FSVv9UVVn/WFlc/1tcYP9fYGT/Y2Rp/2dobf9sbXL/cXJ4/3Z3ff+LjJH/4ODi//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/15e5v9BQeH/QUHh/z8/4f8+PuD/PDzg/zo6 + 4P84OOD/Njbf/zU13/8zM9//MzPfsDQ03/81Nd//Nzff/zk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0JC + 4f9OTuP/xsb2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+Pj4/6iprf94eX//c3R6/25v + dP9pam//ZWZq/2BhZv9dXmL/WVpe/1ZWWv9SU1f/UFFU/01OUf9LTE//SUpM/0dISv9FRkn/Q0RH/0JD + Rf9BQkT/QEBD/z8/Qv8+P0H/PT5A/zw9P/88PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zs8 + Pv88PT//PT1A/z4+QP8+P0H/P0BC/0FBRP9CQkX/Q0RG/0VFSP9GR0r/SElM/0pLTv9NTVH/T1BT/1JT + Vv9VVln/WFld/1xdYf9fYGX/ZGVp/2hpbv9tbnP/cnN5/3V3ff+Vlpv/6urr//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/15e5v9BQeH/QUHh/z8/4f89PeD/Ozvg/zk54P84ON//Njbf/zQ0 + 3/8zM9//MjLfsDQ03/81Nd//Njbf/zg44P86OuD/Ozvg/z4+4P8/P+H/QUHh/0FB4f9OTuP/xsb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////Pz8/7e3u/96e4H/dHV7/29wdf9qa3D/ZWZr/2Fi + Zv9dXmL/Wltf/1ZXW/9TVFj/UFFV/05PUv9LTE//SUpN/0dIS/9FRkn/REVH/0JDRv9BQkT/QEFD/z9A + Qv8+P0H/PT5A/z09P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87PD7/Ozw+/zw8P/88PT//PT5A/z4+ + Qf8/P0L/QEBD/0FCRP9CQ0X/RERH/0VGSP9HSEr/SUlM/0tMT/9NTlH/UFBU/1JTV/9VVlr/WVpe/1xd + Yf9gYWb/ZGVq/2lqb/9ub3T/c3R5/3Z4fv+hoqb/8fLy//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/11d5f9AQOH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//Njbf/zQ03/8yMt//MTHesDMz + 3/80NN//Njbf/zg43/85OeD/Ozvg/z094P8+PuH/QEDh/0FB4f9NTeP/xsb2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/8bGyf99f4X/dXZ8/3Bxdv9rbHH/Zmds/2JjZ/9eX2P/Wltf/1dY + XP9UVVj/UVJV/05PU/9MTVD/SkpN/0hJS/9GR0n/REVI/0NERv9CQkX/QEFD/z9AQv8+P0H/PT5A/z09 + QP88PT//PDw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo7/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zo6PP86Oz3/Ojs9/zo7Pf87PD7/PDw+/zw9P/89PT//PT5A/z4/Qf8/QEL/QEFD/0FC + RP9DQ0b/REVH/0ZGSf9HSEv/SUpN/0tMT/9OT1L/UFFU/1NUV/9WV1v/WVpe/11eYv9hYmb/ZWZr/2pr + cP9vcHX/dHV6/3l6gP+vr7P/9/f4//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/11d + 5f9AQOH/QEDh/z4+4P88POD/Ojrg/zk54P83N9//NTXf/zQ03/8yMt//MDDesDIy3/80NN//NTXf/zc3 + 3/85OeD/Ojrg/zw84P8+PuD/QEDh/0BA4f9NTeP/xsb2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9bX2f+EhYv/dnd8/3Fyd/9sbXL/Z2ht/2NkaP9fYGT/W1xg/1hZXf9VVVn/UlJW/09Q + U/9NTVD/SktO/0hJTP9GR0r/RUZI/0NER/9CQ0X/QUFE/0BAQ/8/P0L/Pj5B/z0+QP88PT//PD0//zs8 + Pv87PD7/Ojs9/zo7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/PDw//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QEFE/0JCRf9DREb/REVI/0ZH + Sf9ISEv/SktO/0xNUP9OT1L/UVJV/1RVWP9XWFz/Wltf/15fY/9iY2f/Zmds/2tscf9wcXb/dHV7/3x9 + g/++v8L//f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/11d5f9AQOH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXf/zMz3/8xMd7/MDDesDIy3/80NN//NTXf/zc33/84OOD/Ojrg/zw8 + 4P89PeD/Pz/h/z8/4f9MTOP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+jo + 6f+TlJn/dnd9/3Jzef9tbnP/aGlu/2Rlav9gYWX/XF1h/1laXf9VVlr/U1NX/1BRVP9NTlH/S0xP/0lK + Tf9HSEv/RUZJ/0RER/9CQ0b/QUJE/0BBQ/8/QEL/Pj9B/z0+QP89PUD/PD0//zw8Pv87PD7/Ozs9/zo7 + Pf86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv88PD7/PD0//z09P/89PkD/Pj9B/z9AQv9AQEP/QUJE/0JDRf9DREf/RUZI/0dHSv9ISUz/S0tO/01O + Uf9PUFP/UlNW/1VWWf9YWV3/W1xg/19gZP9jZGn/Z2ht/2xtcv9xcnf/dXZ8/4WGjP/U1Nb///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/11d5f8/P+H/Pj7g/z094P87O+D/Ojrg/zc3 + 3/82Nt//NDTf/zIy3/8xMd7/MDDesDIy3/8zM9//NDTf/zY23/84OOD/OTng/zs74P89PeD/Pj7h/z8/ + 4f9MTOP/xcX2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////T09f+nqKz/eHl//3N0 + ev9ub3X/amtw/2Vma/9hYmb/XV5i/1pbX/9WV1v/U1RY/1FRVf9OT1L/TE1Q/0pKTf9ISUv/RkdJ/0RF + SP9DREb/QkJF/0FBRP9AQEP/Pz9C/z4+Qf89PkD/PT0//zw9P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zs8Pv88PT//PD0//z0+ + QP8+PkH/Pj9B/z9AQv9AQUP/QUJF/0NDRv9ERUf/RkZJ/0dIS/9JSk3/S0xP/05OUv9QUVT/U1RX/1ZW + Wv9ZWl7/XF1h/2BhZf9kZWr/aGlu/21uc/9yc3n/dnd9/5OUmf/n5+n///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1xc5f8+PuD/Pj7g/zw84P86OuD/OTng/zc33/82Nt//NDTf/zIy + 3/8xMd7/MDDesDEx3v8yMt//NDTf/zU13/83N9//OTng/zs74P88POD/Pj7g/z8/4f9LS+L/xcX2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////39/f+/v8L/fH2D/3R1e/9wcXb/a2xx/2Zn + bP9iY2j/Xl9k/1tcYP9XWFz/VFVZ/1JTVv9PUFP/TU1R/0pLTv9ISUz/R0dK/0VGSP9EREf/QkNG/0FC + RP9AQUP/P0BC/z4/Qf89PkD/PT5A/zw9P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BB + Q/9BQkT/QkNF/0NER/9FRUj/RkdK/0hJTP9KS07/TE1Q/05PUv9RUlX/VFVY/1dYW/9aW1//XV5j/2Fi + Z/9lZmv/amtw/25wdf90dXr/eHl//6enrP/29vf///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1xc5f89PeD/PT3g/zs74P86OuD/ODjg/zc33/81Nd//MzPf/zEx3v8wMN7/Ly/esDAw + 3v8yMt//NDTf/zU13/82Nt//ODjg/zo64P87O+D/PT3g/z4+4P9KSuL/xcX2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////W19n/h4iN/3V2fP9xcnj/bW5z/2hpbv9kZWn/YGFl/1xd + Yf9ZWl3/VlZa/1NUV/9QUVT/Tk5S/0tMT/9JSk3/SEhL/0ZHSf9ERUj/Q0RG/0JDRf9BQUT/QEBD/z8/ + Qv8+P0H/PT5A/z0+QP88PT//PDw+/zs8Pv87PD7/Ojs9/zo7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/89PT//PT5A/z4+Qf8/P0H/P0BC/0BBQ/9CQkX/Q0NG/0RF + R/9FRkn/R0hL/0lKTf9LTE//TU5R/09QVP9SU1b/VVZZ/1hZXf9bXGD/X2Bk/2NkaP9naG3/a2xx/3Bx + d/91dnz/fX6E/8HBxP/+/v7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1tb + 5f89PeD/PT3g/zs74P85OeD/ODjf/zY23/80NN//MjLf/zEx3v8wMN7/Ly/esC8v3v8xMd7/MzPf/zQ0 + 3/82Nt//ODjf/zo64P87O+D/PT3g/z094P9KSuL/xcX2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////t7e7/m5yh/3d4fv9zdHr/bm90/2prcP9lZmv/YWJm/11eYv9aW1//V1hc/1RV + WP9RUlX/T09T/0xNUP9KS07/SElM/0dHSv9FRkn/RERH/0JDRv9BQkT/QEFD/z9AQv8+P0H/Pj5B/z0+ + QP89PT//PD0//zw8Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zs8 + Pv88PD7/PD0//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QEFD/0FCRP9CQ0X/Q0RH/0VGSP9GR0r/SElM/0pL + Tv9MTVD/Tk9S/1FRVf9TVFj/Vldb/1laXv9dXWL/YGFm/2Rlav9oaW7/bW5z/3JzeP92eH3/iYqQ/97e + 4P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1pa5f88POD/PDzg/zo6 + 4P84OOD/Nzff/zU13/80NN//MjLf/zAw3v8vL97/Li7esC8v3v8wMN7/MjLf/zQ03/81Nd//Nzff/zk5 + 4P87O+D/PDzg/z094P9JSeL/xMT2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///8/Pz/u7u//3x9g/91dnz/cHF2/2tscf9naG3/Y2Ro/19gZP9bXGD/WFld/1VWWv9SU1f/UFFU/01O + Uf9LTE//SUpN/0hIS/9GR0r/RUVI/0NERv9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+Qf89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87Oz7/Ozs9/zo7Pf86Oz3/Ojs9/zo7PP86Ozz/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PD0//z0+ + QP89PkD/Pj9B/z9AQv9AQUP/QUFE/0JCRf9DREb/REVI/0ZGSf9HSEv/SUpM/0tMT/9NTlH/T1BT/1JT + Vv9VVVn/V1hc/1tcYP9eX2P/YmNn/2Zna/9qa3D/b3B1/3R1ev94eX//o6Sp//X19f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1lZ5f88POD/Ozvg/zo64P84ON//Njbf/zU1 + 3/8zM9//MjLf/zAw3v8uLt7/LS3esC8v3v8wMN7/MTHe/zMz3/81Nd//Nzff/zg44P86OuD/PDzg/zw8 + 4P9ISOL/xMT2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d3f/4iJ + j/92eH3/cnN5/21uc/9pam//ZGVq/2FiZv9dXmL/Wlpe/1ZXW/9UVVj/UVJV/09PU/9MTVD/SktO/0lJ + TP9HSEv/RUZJ/0RFR/9DQ0b/QkJF/0FCRP9AQUP/P0BC/z4/Qf8+PkD/PT5A/z09P/88PT//PDw//zs8 + Pv87PD7/Ozw+/zs7Pf87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/88PT//PT5A/z0+QP8+P0H/Pz9C/0BA + Q/9BQUT/QUJF/0NDRv9EREf/RUZI/0dHSv9ISUz/SktO/0xNUP9OT1L/UVFV/1NUWP9WV1v/WVpe/1xd + Yf9gYWX/Y2Rp/2hpbf9sbXL/cXJ3/3V3fP9/gIb/x8fK//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1lZ5f87O+D/Ozvg/zk54P83N9//Njbf/zQ03/8yMt//MTHe/y8v + 3v8uLt7/LCzesC4u3v8vL97/MTHe/zIy3/80NN//Njbf/zg43/85OeD/Ozvg/zw84P9ISOL/xMT2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9PT1/6OkqP95eoD/dHV7/29w + df9qa3D/Zmds/2JjaP9fYGT/W1xg/1hZXf9VVlr/U1NX/1BRVP9OT1L/TExQ/0pLTv9ISUz/RkdK/0VG + SP9EREf/Q0NG/0JCRf9BQUT/QEBD/z9AQv8+P0H/Pj5B/z0+QP89PT//PD0//zw9P/88PD7/Ozw+/zs8 + Pv87PD7/Ozs9/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87PD7/Ozw+/zw8Pv88PD//PD0//z09P/89PkD/PT5A/z4/Qf8/P0L/P0BC/0BBQ/9BQkT/QkNF/0NE + R/9FRUj/RkdJ/0hIS/9JSk3/S0xP/01OUf9PUFP/UlNW/1VVWf9XWFz/W1tf/15fY/9hYmf/ZWZr/2lq + b/9ub3T/c3R5/3Z4fv+Sk5j/5eXm//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1hY5f86OuD/Ojrg/zg44P83N9//NTXf/zMz3/8yMt//MDDe/y8v3v8tLd7/LCzesC0t + 3v8vL97/MTHe/zIy3/8zM9//NTXf/zc33/85OeD/Ojrg/zs74P9HR+L/xMT2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/8vLzv+Cg4n/dnd9/3FyeP9tbnP/aGlu/2Rl + av9gYWb/XV5i/1pbX/9XWFv/VFVZ/1FSVv9PUFP/TU5R/0tMT/9JSk3/SEhL/0ZHSv9FRkj/RERH/0JD + Rv9BQkX/QUFE/0BAQ/8/QEL/Pj9B/z4+Qf89PkD/PT5A/zw9P/88PT//PD0//zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw+/zw9 + P/88PT//PT1A/z0+QP8+PkD/Pj9B/z8/Qv8/QEL/QEFD/0FCRP9CQ0X/Q0RG/0RFSP9GR0n/R0hL/0lK + TP9KS07/TE1Q/09PU/9RUlX/U1RY/1ZXW/9ZWl7/XF1h/2BgZf9jZGn/Z2ht/2xtcv9wcXf/dXZ7/3t8 + gv+0tbn/+Pj5//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1hY + 5f86OuD/OTng/zg43/82Nt//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/KyvesC0t3v8uLt7/MDDe/zEx + 3v8zM9//NTXf/zc33/84ON//OTng/zo64P9GRuL/xMT2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+7u7/+en6T/d3l//3R1ev9vcHX/amtx/2ZnbP9jY2j/X2Bk/1xc + Yf9ZWV3/Vlda/1NUV/9RUVX/Tk9T/0xNUP9KS07/SUpM/0dIS/9GR0n/RUVI/0NER/9CQ0b/QUJF/0FB + RP9AQUP/P0BC/z4/Qf8+P0H/PT5A/z0+QP89PUD/PD0//zw9P/88PT//PDw//zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw+/zw9P/88PT//PD0//z09P/89PkD/PT5A/z4/ + Qf8+P0H/P0BC/0BAQ/9AQUP/QUJE/0JDRf9DREf/REVI/0VGSf9HSEr/SElM/0pLTv9MTVD/Tk9S/1BR + VP9SU1f/VVZa/1hZXf9bXGD/Xl9j/2FiZ/9lZmv/aWpv/25vdP9ydHn/dnd9/42OlP/d3t////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1dX5P85OeD/OTng/zc3 + 3/81Nd//NDTf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/KirdsC0t3v8uLt7/Ly/e/zAw3v8yMt//NDTf/zY2 + 3/83N9//OTng/zk54P9GRuL/w8P2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////39/f/HyMr/gYKI/3V3fP9xcnj/bW5z/2lqbv9lZmr/YWJm/11eY/9aW1//WFhc/1VW + Wf9SU1f/UFFU/05PUv9MTVD/SktO/0hJTP9HSEv/RkZJ/0VFSP9DREf/QkNG/0FCRf9BQUT/QEFD/z9A + Qv8/P0L/Pj9B/z4+Qf89PkD/PT5A/z09QP88PT//PD0//zw9P/88PT//PD0//zw8Pv88PD7/PDw+/zw8 + P/88PD//PDw//zw9P/88PT//PD0//zw9P/89PUD/PT5A/z0+QP8+PkH/Pj9B/z8/Qv8/QEL/QEFD/0FB + RP9BQkT/QkNF/0NERv9ERUj/RUZJ/0dHSv9ISUz/SktN/0tMT/9NTlH/T1BU/1JTVv9UVVj/V1hb/1pb + X/9dXmL/YGFl/2Rlaf9oaW3/bG1y/3Bxd/91dnz/enyC/7Gytf/4+Pj///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1ZW5P84OOD/ODjg/zY23/81Nd//MzPf/zIy + 3/8wMN7/Ly/e/y0t3v8rK97/KirdsCws3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zU13/82Nt//ODjg/zg4 + 4P9FReL/w8P2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///r7O3/nJyh/3h5f/90dXv/b3B2/2tscf9naG3/Y2Rp/2BhZf9cXWL/WVpe/1dYW/9UVVn/UlJW/09Q + VP9OTlL/TExQ/0pLTv9ISUz/R0hK/0ZGSf9FRUj/RERH/0JDRv9CQkX/QUJE/0BBQ/9AQEP/P0BC/z8/ + Qf8+P0H/Pj5B/z0+QP89PkD/PT5A/z09QP89PT//PT0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/89PUD/PT5A/z0+QP89PkD/Pj5B/z4/Qf8+P0H/P0BC/z9AQv9AQUP/QUFE/0JCRf9CQ0b/Q0RH/0RF + SP9FRkn/R0dK/0hJTP9KSk3/S0xP/01OUf9PUFP/UVJV/1NUWP9WV1r/WVld/1xdYf9fYGT/YmNo/2Zn + bP9qa3D/bm91/3N0ev93eH7/iouR/9zc3v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1ZW5P84ON//Nzff/zY23/80NN//MjLf/zEx3v8vL97/Li7e/yws + 3v8rK93/KirdsCsr3f8sLN7/Li7e/zAw3v8xMd7/MjLf/zQ03/82Nt//Nzff/zc33/9EROH/w8P2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/zc3Q/4OE + iv92d33/cnN5/25vdP9pam//Zmdr/2JjaP9fYGT/XFxh/1laXf9WV1v/VFRY/1FSVv9PUFP/TU5R/0tM + T/9KS07/SElM/0dIS/9GR0n/RUVI/0RER/9DQ0b/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/Pz9C/z4/ + Qf8+P0H/Pj9B/z4+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5B/z4/ + Qf8+P0H/Pz9C/z9AQv9AQEP/QEFD/0BBRP9BQkT/QkNF/0NDRv9DREf/RUVI/0ZGSf9HR0r/SElM/0pK + Tf9LTE//TU5R/09QU/9RUlX/U1RX/1VWWv9YWV3/W1xg/15fY/9hYmb/ZWZq/2lqbv9tbnP/cXJ3/3V2 + fP99foT/tre6//n5+v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1VV5P83N9//Nzff/zU13/8zM9//MjLf/zAw3v8vL97/LS3e/ysr3v8qKt3/KSndsCsr + 3f8sLN7/LS3e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/9DQ+H/w8P1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9PT0/6mqrv96e4H/dXZ8/3Bx + d/9sbXL/aGlu/2Rlav9hYmb/Xl9j/1tcYP9YWV3/Vlda/1NUWP9RUlX/T1BT/01OUf9MTE//SktO/0lJ + TP9HSEv/RkdJ/0VGSP9ERUf/Q0RG/0JDRv9CQkX/QUJE/0BBRP9AQUP/QEBD/z9AQv8/QEL/Pz9C/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z9AQv8/QEL/P0BD/0BB + Q/9BQUT/QUJE/0JCRf9CQ0X/Q0RG/0RFR/9FRUj/RkdJ/0dIS/9ISUz/SkpN/0tMT/9NTlH/T09T/1FR + Vf9TU1f/VVZZ/1dYXP9aW1//XV5i/2BhZv9jZGn/Z2ht/2tscf9vcHb/dHV6/3h5f/+XmJ3/5ubn//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P6/1VV + 5P82Nt//Njbf/zQ03/8yMt//MTHe/y8v3v8uLt7/LCze/ysr3f8pKd3/KCjdsCoq3f8rK93/LS3e/y4u + 3v8vL97/MTHe/zMz3/80NN//NTXf/zY23/9DQ+H/wsL1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9zd3/+Oj5T/d3h+/3N0ev9vcHX/a2xx/2do + bf9jZGn/YGFm/11eYv9aW1//WFlc/1VWWv9TVFf/UVJV/09QU/9NTlH/TExQ/0pLTv9JSkz/R0hL/0ZH + Sv9FRkn/REVI/0RER/9DREb/QkNF/0JCRf9BQkT/QUFE/0BBQ/9AQUP/QEBD/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BD/0BBQ/9AQUP/QUFE/0FCRP9CQkX/QkNF/0ND + Rv9DREf/REVI/0VGSf9GR0r/R0hL/0hJTP9KS03/S0xP/01OUf9PT1P/UFFV/1JTV/9VVVn/V1hc/1pa + Xv9cXWH/X2Bl/2NkaP9mZ2z/amtw/25vdP9yc3n/dnd9/4OEiv/Iycz//f39//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1RU5P82Nt//NTXf/zQ0 + 3/8yMt//MDDe/y8v3v8tLd7/LCze/yoq3f8pKd3/KCjdsCkp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy + 3/8zM9//NTXf/zU13/9CQuH/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////r6+v+/wMP/gIGH/3Z3ff9yc3n/bm90/2prcP9mZ2z/Y2Rp/2Bh + Zf9dXmL/Wltf/1dYXP9VVlr/U1RX/1FSVf9PUFP/TU5S/0xNUP9LS07/SUpN/0hJTP9HSEr/RkdJ/0VG + Sf9ERUj/RERH/0NERv9CQ0b/QkNF/0FCRf9BQkT/QUFE/0FBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUT/QUFE/0FCRP9BQkT/QkJF/0JDRf9DREb/Q0RH/0RFR/9FRkj/RkdJ/0dH + Sv9ISEv/SUpM/0pLTv9MTE//TU5R/09QU/9RUVX/UlNX/1VVWf9XWFz/WVpe/1xdYf9fYGT/YmNo/2Vm + a/9pam//bW5z/3Fyd/91dnz/enyC/6qrr//y8vP///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4uL6/1NT5P81Nd//NDTf/zMz3/8xMd7/MDDe/y4u + 3v8tLd7/Kyve/yoq3f8oKN3/JyfdsCgo3f8qKt3/Kyvd/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU1 + 3/9CQuH/wsL1//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////w8PD/qKmt/3p8gv91dnz/cXJ4/21uc/9pam//Zmds/2JjaP9fYGX/XV1i/1pb + X/9XWFz/VVZa/1NUV/9RUlX/T1BU/05PUv9MTVD/S0xP/0pLTv9JSUz/SEhL/0dHSv9GR0n/RUZJ/0RF + SP9EREf/Q0RG/0NDRv9DQ0b/QkNF/0JDRf9CQkX/QUJF/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + Rf9CQkX/QkNF/0JDRv9DQ0b/Q0RG/0RER/9ERUj/RUZI/0ZGSf9GR0r/R0hL/0hJTP9JSk3/S0tO/0xN + UP9NTlH/T1BT/1FSVf9TVFf/VVZZ/1dYXP9ZWl7/XF1h/19gZP9iY2f/ZWZq/2hpbv9sbXL/cHF2/3R1 + e/94eX//lpec/+Pj5f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4uL6/1NT5P80NN//MzPf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/Kyvd/ykp + 3f8nJ93/JyfdsCgo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zQ03/9BQeH/wsL1//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+Pk/5aWm/94eX//dHZ7/3Bxd/9sbXP/aWpv/2Vma/9iY2j/X2Bl/1xdYv9aW1//WFhc/1VW + Wv9TVFj/UlNW/1BRVP9OT1L/TU5R/0xMT/9KS07/SUpN/0hJTP9HSEv/R0dK/0ZHSf9FRkn/RUVI/0RF + R/9ERUf/Q0RH/0NER/9DREb/Q0NG/0NDRv9DQ0b/QkNG/0JDRv9CQ0b/Q0NG/0NDRv9DREb/Q0RH/0RE + R/9ERUf/RUVI/0VGSf9GRkn/RkdK/0dIS/9ISUz/SUpN/0pLTv9LTE//TU1R/05PUv9PUFT/UVJV/1NU + V/9VVlr/V1hc/1laXv9cXWH/Xl9k/2JjZ/9lZmr/aGlu/2xtcv9vcHb/c3R6/3d4fv+Jio//0NHT//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4uL6/1JS5P8zM9//MzPf/zEx3v8wMN7/Li7e/y0t3v8sLN7/Kird/ygo3f8nJ93/JibdsCcn + 3f8oKN3/Kird/ysr3v8tLd7/Li7e/zAw3v8xMd7/MzPf/zMz3/9AQOH/wMD1///////9/f///f3///39 + ///9/f///f3///39///9/f///f3///39///9/f///f3///39///9/f///f3///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///f3+/9DR + 1P+Ki5D/eHl+/3R1e/9wcXb/bG1y/2hpbv9lZmv/YmNo/19gZf9dXmL/Wltf/1hZXf9WV1v/VFVY/1JT + V/9RUlX/T1BT/05PUv9NTVD/S0xP/0pLTv9JSk3/SUlM/0hIS/9HSEv/RkdK/0ZHSf9FRkn/RUZI/0VG + SP9ERUj/REVI/0RFSP9ERUf/REVH/0RFR/9ERUf/REVI/0RFSP9FRUj/RUZI/0VGSf9GRkn/RkdK/0dI + S/9HSEv/SElM/0lKTf9KS07/S0xP/0xNUP9NTlH/T1BT/1BRVP9SU1b/VFRY/1VWWv9XWFz/Wltf/1xd + Yf9fYGT/YmJn/2Vmav9oaW7/a2xx/29wdf9zdHr/d3h9/4GCiP+9vcH/+Pj5///////+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///9/f///f3///39 + ///9/f///f3///39///9/f///f3///39///9/f///f3///39///9/f///f3///39///+/v//4eH6/1FR + 4/8yMt//MjLf/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ygo3f8mJt3/JSXdsCYm3f8oKN3/KSnd/yoq + 3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zMz3/86OuD/fHzq/5yc7/+cnO//nZ3v/56e8P+envD/n5/w/6Cg + 8P+hofD/oaHw/6Ki8P+jo/D/pKTx/6Sk8f+lpfH/pqbx/6en8f+oqPH/qKjx/6mp8f+qqvL/q6vy/6ur + 8v+srPL/ra3y/66u8v+urvL/r6/y/7Cw8v+xsfP/sbHz/7Ky8/+zs/P/tLTz/7S08/+1tfP/trbz/7a2 + 8/+3t/T/uLj0/7m59P+5ufT/urr0/7u79P+7u/T/vLz0/7y89P+9vfX/vr71/7i47/+Sk7//e32K/3d5 + fv9zdHr/cHF2/2xtcv9oaW7/ZWZr/2JjaP9gYWX/XV5i/1tcYP9ZWl3/V1db/1VWWf9TVFj/UVJW/1BR + VP9PT1P/Tk5S/0xNUP9LTE//SktO/0pKTf9JSk3/SElM/0hIS/9HSEv/R0dK/0ZHSv9GR0r/RkdJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GR0n/RkdJ/0ZHSv9GR0r/R0dK/0dIS/9HSEv/SElM/0lKTP9JSk3/SktO/0tM + T/9MTVD/TU5R/05PUv9QUFT/UVJV/1JTV/9UVVn/Vldb/1hZXf9aW1//XV1i/19gZP9iY2f/ZWZq/2hp + bv9rbHH/b3B1/3N0ef93eH3/enuE/4iJr/+wsej/vr71/7299f+8vPT/vLz0/7u79P+6uvT/ubn0/7m5 + 9P+4uPT/uLj0/7e39P+2tvP/tbXz/7W18/+0tPP/s7Pz/7Ky8/+ysvP/sbHz/7Cw8/+vr/L/r6/y/66u + 8v+trfL/ra3y/6ys8v+rq/L/qqry/6qq8f+pqfH/qKjx/6en8f+mpvH/pqbx/6Wl8f+kpPH/o6Pw/6Ki + 8P+iovD/oaHw/6Cg8P+fn/D/n5/w/56e8P+dnfD/nZ3v/5yc7/+bm+//jIzt/0JC4f8yMt//MTHe/zAw + 3v8uLt7/LCze/ysr3f8qKt3/KSnd/ycn3f8lJd3/JCTcsCYm3f8nJ93/KCjd/ykp3f8rK93/LS3e/y4u + 3v8vL97/MTHe/zIy3/80NN//Njbf/zg43/85OeD/Ozvg/zw84P8+PuD/Pz/h/0FB4f9CQuH/RETh/0VF + 4v9HR+L/SEji/0pK4v9MTOP/TU3j/05O4/9QUOP/UlLk/1NT5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc + 5f9dXeX/X1/m/2Bg5v9iYub/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9qauf/bGzo/21t6P9vb+j/cHDo/3Jy + 6f9zc+n/dHTp/3Z26f93d+n/eHjq/3l56v97e+r/fHzq/3196/9+f+T/fn+2/3t8h/93eH7/c3R6/3Bx + dv9sbXL/aWpv/2Zna/9jZGj/YGFm/15fY/9cXGH/WVpe/1dYXP9WVlr/VFVY/1JTV/9RUlX/UFFU/09P + U/9NTlH/TU1R/0xMUP9LTE//SktO/0pKTf9JSk3/SUlM/0hJTP9ISUz/SEhL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/SEhL/0hJTP9ISUz/SUlM/0lKTf9JSk3/SktO/0tMT/9LTE//TE1Q/01OUf9OT1L/T1BU/1FS + Vf9SU1b/VFRY/1VWWv9XWFz/WVpe/1tcYP9dXmL/YGBl/2JjaP9lZmv/aGlu/2tscf9vcHX/cnN5/3Z4 + ff96fIP/fX6m/31+3f99fev/e3vq/3p66v95eer/eHjq/3Z26f90dOn/c3Pp/3Jy6f9wcOj/cHDo/25u + 6P9tbej/a2vo/2pq5/9oaOf/Z2fn/2Zm5/9kZOf/Y2Pm/2Fh5v9gYOb/X1/m/11d5f9bW+X/Wlrl/1hY + 5f9XV+T/VVXk/1RU5P9SUuT/UVHj/09P4/9OTuP/TEzj/0pK4v9JSeL/SEji/0ZG4v9EROH/Q0Ph/0JC + 4f9AQOH/Pz/h/z094P88POD/Ozvg/zk54P83N9//NTXf/zMz3/8yMt//MDDe/y8v3v8uLt7/LCze/ysr + 3f8pKd3/KCjd/yYm3f8lJdz/JCTcsCUl3P8mJt3/Jyfd/ykp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/83N9//ODjg/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0ND4f9EROH/Rkbi/0hI + 4v9JSeL/S0vi/0xM4/9OTuP/T0/j/1FR4/9SUuT/VFTk/1VV5P9XV+T/WFjl/1lZ5f9bW+X/XV3l/15e + 5v9fX+b/YWHm/2Ji5v9kZOb/ZWXn/2dn5/9oaOf/aWnn/2tr6P9sbOj/bm7o/29v6P9wcOj/cXHp/3Nz + 6f90dOn/dXXp/3d36f94eOr/eXnq/3p66v98fOv/fX3j/35+sf97fIb/d3h+/3N0ev9wcXb/bG1z/2lq + b/9mZ2z/ZGVp/2FiZv9fYGT/XF1h/1pbX/9ZWV3/V1hb/1VWWv9UVFj/UlNX/1FSVf9QUVT/T1BT/05P + Uv9NTlH/TE1Q/0xNUP9LTE//S0xP/0pLTv9KS07/SktO/0pKTf9KSk3/SkpN/0pKTf9KSk3/SktN/0pL + Tv9KS07/S0tO/0tMT/9MTE//TE1Q/01OUf9OT1L/T09T/1BRVP9RUlX/UlNW/1NUWP9VVln/Vldb/1hZ + Xf9aW1//XF1h/15fY/9gYWb/Y2Ro/2Zna/9pam7/bG1y/29wdf9yc3n/dnd9/3p8gv99fqP/fX3a/3t7 + 6/96eur/eHjq/3d36v92dun/dXXp/3R06f9ycun/cXHp/29v6P9ubuj/bW3o/2xs6P9qauf/aWnn/2dn + 5/9mZuf/ZGTn/2Nj5v9iYub/YGDm/19f5v9eXuX/XFzl/1tb5f9ZWeX/WFjl/1ZW5P9VVeT/U1Pk/1JS + 5P9QUOP/T0/j/01N4/9LS+P/Skri/0hI4v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/4f8+PuD/PDzg/zs7 + 4P85OeD/ODjg/zY23/80NN//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8oKN3/Jyfd/yUl + 3f8kJNz/IyPcsCQk3P8lJd3/Jyfd/ygo3f8qKt3/Kyvd/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU1 + 3/83N9//ODjg/zk54P87O+D/PT3g/z4+4P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1RU5P9WVuT/V1fk/1lZ5f9aWuX/W1vl/11d5f9fX+b/YGDm/2Fh + 5v9jY+b/ZGTn/2Zm5/9nZ+f/aWnn/2pq5/9ra+j/bW3o/25u6P9vb+j/cHDo/3Jy6f9zc+n/dHTp/3Z2 + 6f93d+n/eHjq/3l56v96eur/e3vr/3194P99frH/e32I/3d5fv90dXv/cHF3/21uc/9qa3D/Z2ht/2Rl + av9iY2f/YGFl/11eY/9cXWH/Wltf/1hZXf9WV1v/VVZa/1RVWP9TU1f/UVJW/1FRVf9QUVT/T1BT/05P + Uv9OTlL/TU5R/01NUf9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9NTVD/TU5R/01O + Uf9OT1L/T1BT/09QVP9QUVX/UVJW/1JTV/9TVFj/VVVZ/1ZXW/9YWFz/WVpe/1tcYP9dXmL/X2Bk/2Fi + Z/9kZWn/Zmds/2lqb/9sbXL/b3B2/3N0ev93eH3/enyD/31+o/98fdf/e3vq/3p66v95eer/d3fq/3Z2 + 6f91den/dHTp/3Jy6f9xcen/cHDo/29v6P9ubuj/bGzo/2tr6P9paef/aGjn/2Zm5/9lZef/ZGTm/2Nj + 5v9hYeb/X1/m/15e5v9dXeX/W1vl/1pa5f9YWOX/V1fk/1VV5P9UVOT/UlLk/1FR4/9QUOP/Tk7j/01N + 4/9LS+L/SUni/0hI4v9GRuL/RUXi/0ND4f9CQuH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjg/zY2 + 3/80NN//MzPf/zEx3v8wMN7/Ly/e/y0t3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3P8jI9z/IiLcsCMj + 3P8kJNz/Jibd/ycn3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/82Nt//Nzff/zg4 + 4P86OuD/PDzg/z094P8+PuD/QEDh/0JC4f9DQ+H/RETi/0ZG4v9ISOL/SUni/0pK4v9MTOP/Tk7j/09P + 4/9QUOP/UVHk/1NT5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc5f9eXuX/Xl7m/2Bg5v9iYub/Y2Pm/2Rk + 5/9lZef/Z2fn/2ho5/9qauf/a2vo/2xs6P9ubuj/b2/o/3Bw6P9xcen/c3Pp/3R06f91den/dnbp/3d3 + 6v95eer/enrq/3t76/98fOH/fX62/3x9if94eX7/dHV7/3FyeP9ub3T/a2xx/2hpbv9lZmv/Y2Rp/2Fi + Zv9fYGT/XV5i/1tcYP9ZWl7/WFld/1dXW/9VVlr/VFVZ/1NUWP9SU1f/UlJW/1FSVf9QUVT/UFFU/09Q + U/9PUFP/T09T/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9T/09QU/9PUFP/UFBU/1BRVP9RUVX/UVJW/1JT + Vv9TVFf/VFVY/1VWWv9WV1v/V1hc/1laXv9bXGD/XF1i/15fZP9gYWb/Y2No/2Vma/9oaW3/amtw/21u + c/9wcXf/c3V6/3d4fv97fIX/fX2n/3x82v96eur/eXnq/3h46v93d+r/dnbp/3R06f9zc+n/cnLp/3Fx + 6f9wcOj/bm7o/21t6P9sbOj/a2vo/2lp5/9oaOf/Zmbn/2Vl5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d + 5f9cXOX/Wlrl/1hY5f9XV+T/Vlbk/1RU5P9SUuT/UVHj/09P4/9OTuP/TU3j/0tL4/9JSeL/SEji/0dH + 4v9GRuL/RETh/0JC4f9BQeH/Pz/h/z4+4P89PeD/Ozvg/zk54P84OOD/Nzff/zU13/8zM9//MjLf/zAw + 3v8vL97/Li7e/yws3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHcsCMj3P8kJNz/JSXd/ycn + 3f8oKN3/Kird/ysr3f8tLd7/Li7e/y8v3v8wMN7/MjLf/zMz3/81Nd//Njbf/zc33/85OeD/Ozvg/zw8 + 4P8+PuD/Pz/h/0FB4f9CQuH/Q0Ph/0VF4v9HR+L/SEji/0lJ4v9LS+P/TEzj/05O4/9PT+P/UFDj/1JS + 5P9TU+T/VVXk/1ZW5P9YWOX/WVnl/1tb5f9cXOX/XV3l/19f5v9gYOb/YmLm/2Nj5v9kZOf/Zmbn/2dn + 5/9oaOf/amrn/2tr6P9sbOj/bW3o/29v6P9wcOj/cXHp/3Jy6f9zc+n/dXXp/3Z26f93d+n/eHjq/3l5 + 6v96euv/fHzl/319u/98fY7/eXp//3V2fP9yc3n/b3B1/2xtcv9pam//Z2ht/2Vmav9iY2j/YGFm/15f + ZP9dXmL/W1xg/1pbX/9ZWV3/V1hc/1ZXW/9VVlr/VFVZ/1RVWP9TVFf/U1NX/1JTVv9SU1b/UVJW/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVv9SU1b/UlNX/1NUV/9UVFj/VFVZ/1VWWv9WV1v/V1hc/1hZ + Xf9ZWl7/W1xg/11dYv9eX2P/YGFl/2JjZ/9kZWr/Zmds/2lqb/9rbHL/bm91/3FyeP90dnv/eHl+/3x9 + iP98fa7/e3vd/3l56/95eer/d3fq/3Z26f91den/dHTp/3Nz6f9ycun/cHDo/29v6P9ubuj/bW3o/2xs + 6P9qauj/aWnn/2dn5/9mZuf/ZWXn/2Nj5v9iYub/YWHm/2Bg5v9eXub/XV3l/1tb5f9aWuX/WVnl/1dX + 5P9WVuT/VVXk/1NT5P9RUeT/UFDj/05O4/9NTeP/TEzj/0pK4v9JSeL/R0fi/0ZG4v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7h/z094P87O+D/Ojrg/zk54P83N9//NTXf/zQ03/8zM9//MTHe/zAw3v8uLt7/LS3e/ysr + 3v8qKt3/KCjd/ygo3f8mJt3/JSXd/yMj3P8iItz/ISHcsCIi3P8jI9z/JSXc/yYm3f8nJ93/KSnd/yoq + 3f8sLN7/LS3e/y4u3v8vL97/MTHe/zIy3/80NN//NTXf/zY23/84OOD/Ojrg/zs74P89PeD/Pj7g/0BA + 4f9BQeH/QkLh/0RE4f9GRuL/R0fi/0hI4v9JSeL/S0vj/0xM4/9OTuP/T0/j/1FR4/9SUuT/VFTk/1VV + 5P9XV+T/WFjl/1lZ5f9bW+X/XFzl/15e5f9fX+b/YGDm/2Ji5v9jY+b/ZGTn/2Vl5/9nZ+f/aGjn/2lp + 5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Bw6P9ycun/c3Pp/3R06f91den/dnbp/3h46v95eer/eXnq/3p6 + 5v98fMX/fH2Y/3p7gf93eH3/c3R6/3Bxd/9tbnT/a2xx/2hpbv9mZ2z/ZGVq/2JjaP9gYWb/X2Bk/11e + Yv9cXWH/W1xg/1laXv9YWV3/WFhc/1dYW/9WV1v/VlZa/1VWWv9VVVn/VFVZ/1RVWP9UVVj/VFVY/1RV + WP9UVVj/VFVZ/1RVWf9VVln/VVZa/1ZXW/9XWFv/V1hc/1hZXf9ZWl7/Wltf/1tcYf9dXmL/Xl9k/2Bh + Zf9iY2f/ZGVp/2Zna/9oaW7/amtw/21uc/9vcXb/c3R5/3Z3fP95eoD/fH2P/3x9uf96e+D/eXnq/3h4 + 6v93d+r/dnbp/3V16f90dOn/c3Pp/3Fx6f9wcOj/bm7o/25u6P9sbOj/a2vo/2pq5/9paef/aGjn/2Zm + 5/9lZef/ZGTm/2Ji5v9hYeb/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/V1fl/1ZW5P9VVeT/U1Pk/1FR + 5P9QUOP/T0/j/01N4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0RE4f9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw8 + 4P86OuD/ODjg/zc33/82Nt//NTXf/zMz3/8yMt//MTHe/y8v3v8tLd7/LCze/yoq3f8pKd3/KCjd/ycn + 3f8lJd3/JCTc/yIi3P8hIdz/ICDcsCIi3P8jI9z/JCTc/yUl3f8mJt3/KCjd/ykp3f8qKt3/LCze/y0t + 3v8uLt7/MDDe/zEx3/8zM9//NDTf/zY23/84ON//OTng/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0JC + 4f9EROH/Rkbi/0dH4v9ISOL/Skri/0tL4/9NTeP/Tk7j/1BQ4/9RUeP/UlLk/1NT5P9VVeT/V1fk/1hY + 5f9ZWeX/W1vl/1xc5f9dXeX/X1/m/2Bg5v9hYeb/Y2Pm/2Rk5v9lZef/Zmbn/2dn5/9paef/a2vo/2xs + 6P9tbej/bm7o/29v6P9xcej/cXHp/3Jy6f90dOn/dXXp/3Z26f93d+n/d3fp/3h46v95een/e3zT/3x9 + pf97fIb/eHl+/3V2e/9yc3n/b3B2/21uc/9qa3D/aGlu/2ZnbP9kZWr/Y2No/2FiZv9fYGX/Xl9j/11e + Yv9cXWH/W1xg/1pbX/9ZWl7/WVpd/1hZXf9YWV3/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1hY + XP9YWV3/WVpe/1laXv9aW1//W1xg/1xdYf9dXWL/Xl9j/19gZP9gYWb/YmNo/2Rlaf9mZ2v/aGlu/2pr + cP9sbXL/bm91/3FyeP90dXv/d3h9/3p8gv98fZr/e3vI/3l55v94eOr/d3fp/3Z26f91den/dHTp/3Nz + 6f9ycun/cXHo/3Bw6P9ubuj/bW3o/2xs6P9ra+j/aWnn/2ho5/9nZ+f/Zmbn/2Vl5/9jY+b/YmLm/2Fh + 5v9gYOb/Xl7m/11d5f9cXOX/Wlrl/1lZ5f9XV+T/Vlbk/1VV5P9TU+T/UlLk/1FR4/9PT+P/TU3j/0xM + 4/9KSuL/SUni/0hI4v9GRuL/RUXi/0ND4f9CQuH/QUHh/z8/4f8+PuD/PT3g/zs74P85OeD/ODjg/zc3 + 3/82Nt//NDTf/zIy3/8xMd7/MDDe/y4u3v8sLN7/Kyvd/yoq3f8oKN3/Jyfd/yYm3f8lJdz/IyPc/yIi + 3P8gINz/Hx/csCEh3P8iItz/IyPc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8uLt7/Ly/e/zEx + 3v8yMt//MzPf/zU13/82Nt//Nzff/zk54P86OuD/PDzg/z094P8/P+H/QEDh/0JC4f9DQ+H/RETh/0ZG + 4v9HR+L/SUni/0pK4v9MTOP/TU3j/05O4/9QUOP/UVHk/1JS5P9UVOT/VVXk/1dX5P9YWOX/Wlrl/1tb + 5f9cXOX/XV3l/19f5v9gYOb/YWHm/2Ji5v9kZOb/ZWXn/2Zm5/9nZ+f/aWnn/2pq5/9ra+j/bGzo/21t + 6P9ubuj/cHDo/3Fx6P9ycun/c3Pp/3R06f91den/dnbp/3Z26f94eOr/eXnr/3p63v98fbf/fH2R/3p7 + gf93eH3/dHV7/3FyeP9vcHX/bG1z/2prcP9pam//Z2ht/2Vma/9kZGn/YmNo/2FiZv9gYWX/X2Bk/15f + Y/9dXmL/XF1h/1xdYf9bXGD/W1xg/1tcYP9bXGD/W1tg/1tcYP9bXGD/W1xg/1tcYP9cXGH/XF1h/11e + Yv9eXmP/X19k/19gZf9gYWb/YmNn/2Nkaf9lZmr/Zmds/2hpbv9qa3D/bG1y/25vdP9wcnf/c3R6/3Z3 + ff95en//e32L/3x9rP96etf/eHjp/3d36v92dun/dXXp/3R06f9zc+n/cnLp/3Fx6P9wcOj/b2/o/25u + 6P9tbej/bGzo/2pq5/9paef/aGjn/2dn5/9lZef/ZGTn/2Nj5v9iYub/YWHm/19f5v9eXub/XV3l/1xc + 5f9bW+X/WVnl/1hY5f9WVuT/VVXk/1NT5P9SUuT/UVHj/1BQ4/9OTuP/TEzj/0tL4/9KSuL/SEji/0ZG + 4v9FReL/RETh/0JC4f9BQeH/QEDh/z4+4P89PeD/Ozvg/zo64P84OOD/Nzff/zY23/80NN//MzPf/zEx + 3v8wMN7/Li7e/y0t3v8sLN7/Kyvd/ykp3f8nJ93/Jibd/yUl3f8kJNz/IiLc/yEh3P8fH9z/Hx/csCAg + 3P8hIdz/IiLc/yQk3P8lJdz/Jibd/ygo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MjLf/zQ0 + 3/81Nd//Nzff/zg43/86OuD/Ozvg/zw84P8+PuD/Pz/h/0FB4f9CQuH/RETh/0VF4v9GRuL/SEji/0hI + 4v9KSuL/TEzj/01N4/9PT+P/UFDj/1FR5P9SUuT/VFTk/1VV5P9XV+T/WFjl/1lZ5f9aWuX/XFzl/11d + 5f9eXub/YGDm/2Fh5v9iYub/ZGTm/2Vl5/9mZuf/Z2fn/2ho5/9paef/amro/2tr6P9tbej/bm7o/29v + 6P9wcOj/cXHp/3Jy6f9zc+n/dHTp/3V16f92dun/d3fq/3d36v95eeb/envO/3x9pv97fIn/eXp//3Z3 + ff9zdXr/cXJ4/29wdf9tbnP/a2xx/2lqb/9oaW7/Zmds/2Vma/9kZWn/Y2Ro/2JjZ/9hYmb/YGFm/2Bh + Zf9fYGT/X2Bk/19fZP9eX2T/Xl9k/15fZP9eX2T/X2Bk/19gZP9fYGX/YGFl/2FiZv9iYmf/YmNo/2Nk + af9kZWr/Zmds/2dobf9pam//a2xx/2xtc/9ub3X/cXJ3/3N0ev91d3z/eHl//3t8hf98fZ3/e3vE/3h4 + 4v93d+r/dnbp/3V16f91den/dHTp/3Jy6f9xcen/cHDo/29v6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp + 5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Ji5v9gYOb/X1/m/15e5v9dXeX/W1vl/1pa5f9ZWeX/V1fl/1ZW + 5P9VVeT/U1Pk/1JS5P9RUeP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/R0fi/0VF4v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7h/z094P88POD/Ojrg/zk54P84ON//Njbf/zU13/8zM9//MjLf/zAw3v8vL97/Li7e/yws + 3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8fH9z/Hh7bsB8f3P8gINz/IiLc/yMj + 3P8kJNz/JSXd/yYm3f8oKN3/KSnd/ysr3f8sLN7/Li7e/y8v3v8wMN7/MTHe/zMz3/81Nd//Njbf/zc3 + 3/84OOD/Ojrg/zs74P88POD/Pj7g/0BA4f9BQeH/QkLh/0ND4f9FReL/R0fi/0hI4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9RUeP/UlLk/1RU5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc5f9dXeX/Xl7m/2Bg + 5v9hYeb/YmLm/2Nj5v9kZOf/ZWXn/2Zm5/9oaOf/aWnn/2pq5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Bw + 6P9xcen/cnLp/3Nz6f90dOn/dXXp/3Z26f93d+r/d3fq/3l54P97e8D/fH2a/3t8hf95en//dnd8/3R1 + ev9yc3j/cHF2/25vdP9sbXL/a2xx/2lqb/9oaW7/Z2ht/2ZnbP9lZmv/ZGVq/2Rlaf9jZGn/Y2Rp/2Nk + aP9iY2j/YmNo/2JjaP9iY2j/Y2Ro/2Nkaf9kZWn/ZGVq/2Vma/9mZ2v/Z2ht/2hpbv9pam//amtw/2xt + cv9tbnT/b3B2/3FyeP9zdHr/dnd8/3h5fv96e4P/fH2T/3t8t/95edr/d3fp/3Z26v91den/dXXp/3R0 + 6f9zc+n/cnLp/3Fx6f9wcOj/bm7o/25u6P9tbej/bGzo/2pq6P9qauf/aGjn/2dn5/9mZuf/ZWXn/2Rk + 5v9jY+b/YWHm/2Bg5v9fX+b/XV3l/1xc5f9bW+X/Wlrl/1hY5f9XV+T/Vlbk/1RU5P9TU+T/UlLk/1FR + 4/9QUOP/Tk7j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0RE4f9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw8 + 4P87O+D/OTng/zg43/82Nt//NTXf/zQ03/8zM9//MTHe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ycn + 3f8mJt3/JSXc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HR3bsB8f3P8gINz/ICDc/yIi3P8jI9z/JCTc/yYm + 3f8nJ93/KSnd/yoq3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8zM9//NTXf/zY23/83N9//OTng/zo6 + 4P88POD/PT3g/z4+4P9AQOH/QUHh/0JC4f9EROH/RUXi/0dH4v9ISOL/SUni/0tL4/9MTOP/TU3j/09P + 4/9QUOP/UVHj/1JS5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1pa5f9cXOX/XV3l/15e5v9fX+b/YGDm/2Fh + 5v9jY+b/ZGTm/2Vl5/9mZuf/aGjn/2ho5/9qauf/a2vo/2xs6P9tbej/bm7o/29v6P9wcOj/cXHo/3Fx + 6f9ycun/c3Pp/3R06f90den/dXXp/3Z26v93d+j/eHjb/3p7vP98fZz/e3yH/3l6f/93eH3/dXZ7/3N0 + ev9xcnj/cHF2/25vdP9tbnP/bG1y/2tscf9qa3D/aWpv/2hpbv9oaW7/Z2ht/2dobf9naG3/Z2hs/2do + bf9naG3/Z2ht/2hpbf9oaW7/aWpv/2prcP9qa3H/a2xy/2xtc/9ub3T/b3B2/3Fyd/9ydHn/dHV7/3Z3 + ff95en7/e3yE/3x9lf97e7T/eXnU/3d35/92dur/dXXp/3R06f9zc+n/c3Pp/3Jy6f9xcej/cHDo/29v + 6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp5/9oaOf/Z2fn/2Vl5/9kZOf/Y2Pm/2Ji5v9hYeb/X1/m/15e + 5v9dXeX/XFzl/1tb5f9aWuX/WFjl/1dX5P9WVuT/VFTk/1NT5P9RUeT/UFDj/09P4/9OTuP/TU3j/0tL + 4/9KSuL/SUni/0dH4v9GRuL/RUXi/0ND4f9CQuH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjg/zc3 + 3/81Nd//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yIi + 3P8hIdz/ICDc/x4e2/8dHdv/HR3bsB0d2/8fH9z/ICDc/yEh3P8iItz/IyPc/yUl3P8mJt3/KCjd/ykp + 3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU13/82Nt//Nzff/zk54P87O+D/PDzg/z09 + 4P8+PuH/Pz/h/0FB4f9DQ+H/RETh/0ZG4v9HR+L/SEji/0pK4v9LS+P/TEzj/01N4/9PT+P/UFDj/1FR + 5P9TU+T/VFTk/1VV5P9WVuT/WFjl/1lZ5f9aWuX/W1vl/1xc5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Rk + 5v9lZef/Zmbn/2dn5/9oaOf/aWnn/2pq5/9ra+j/bGzo/21t6P9ubuj/b2/o/29v6P9wcOj/cXHp/3Jy + 6f9zc+n/dHTp/3R06f91den/dnbq/3Z26P94eNv/enu//3t8of97fIz/enuC/3h5f/92d33/dXZ7/3N0 + ev9yc3n/cXJ3/3Bxdv9vcHX/bm90/21uc/9tbnP/bG1y/2xtcv9rbHL/a21y/2xtcv9sbXL/bG1y/2xt + c/9tbnP/bm90/25vdf9vcHb/cHJ3/3FzeP9zdHn/dHV7/3Z3ff94eX7/enuB/3t8if97fJv/enu2/3h4 + 1f92dub/dnbq/3V16f90dOn/c3Pp/3Jy6f9ycun/cXHp/3Bw6P9vb+j/bm7o/21t6P9sbOj/a2vo/2pq + 5/9paef/aGjn/2dn5/9mZuf/ZWXn/2Rk5v9jY+b/YmLm/2Bg5v9fX+b/Xl7m/11d5f9cXOX/W1vl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG + 4v9EROL/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P89PeD/Ozvg/zo64P85OeD/Nzff/zY23/80NN//MzPf/zEx + 3v8wMN7/Ly/e/y0t3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yUl3f8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e + 2/8cHNv/HBzbsB0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P86OuD/Ozvg/zw84P89PeD/Pz/h/0BA + 4f9BQeH/Q0Ph/0RE4f9FReL/R0fi/0hI4v9JSeL/S0vj/0xM4/9OTuP/T0/j/1BQ4/9RUeT/U1Pk/1RU + 5P9VVeT/Vlbk/1dX5P9YWOX/Wlrl/1tb5f9cXOX/Xl7l/15e5v9fX+b/YWHm/2Ji5v9jY+b/ZGTm/2Vl + 5/9mZuf/Z2fn/2lp5/9paef/amrn/2tr6P9sbOj/bW3o/25u6P9vb+j/b2/o/3Bw6P9xcen/cnLp/3Nz + 6f90dOn/dHTp/3R06f91der/dnbp/3d33/95ecz/e3uy/3x9mP97fIn/enuC/3l6f/93eX3/dnd8/3V2 + e/90dXr/c3R6/3Jzef9yc3j/cXJ4/3Fyd/9xcnf/cXJ3/3Fyd/9xcnf/cXJ4/3FzeP9yc3n/c3R5/3R1 + ev90dnv/dnd8/3d4ff94en7/enuB/3t8hv98fZP/e3ur/3l5xv93d9v/dXXn/3R06v90dOn/dHTp/3Nz + 6f9ycun/cXHp/3Fx6P9wcOj/b2/o/25u6P9tbej/bW3o/2tr6P9qauj/amrn/2ho5/9nZ+f/Zmbn/2Vl + 5/9kZOf/Y2Pm/2Ji5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9aWuX/WVnl/1hY5f9XV+T/Vlbk/1RU + 5P9TU+T/UlLk/1FR4/9PT+P/Tk7j/01N4/9MTOP/Skri/0hI4v9ISOL/R0fi/0VF4v9DQ+H/QkLh/0FB + 4f8/P+H/Pj7g/z094P87O+D/Ojrg/zg44P83N9//Njbf/zU13/8zM9//MjLf/zAw3v8vL97/Li7e/yws + 3v8sLN7/Kird/ykp3f8nJ93/Jibd/yQk3P8jI9z/IiLc/yEh3P8fH9z/Hh7b/x0d2/8cHNv+Gxvbqhwc + 2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn3f8oKN3/Kird/ysr3f8sLN7/Li7e/y8v + 3v8wMN7/MTHe/zMz3/80NN//NTXf/zc33/84OOD/Ojrg/zs74P89PeD/PT3g/z8/4f9AQOH/QkLh/0ND + 4f9EROH/RUXi/0dH4v9ISOL/SUni/0pK4v9MTOP/TU3j/05O4/9QUOP/UVHk/1JS5P9TU+T/VVXk/1ZW + 5P9XV+T/WFjl/1pa5f9aWuX/XFzl/11d5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Nj5v9kZOf/Zmbn/2dn + 5/9nZ+f/aGjn/2lp5/9qauf/a2vo/2xs6P9tbej/bW3o/25u6P9vb+j/cHDo/3Fx6f9ycun/cnLp/3Nz + 6f9zc+n/dHTp/3R06v91der/dnbn/3d33P95ecj/enu0/3t8of97fJP/e3yJ/3p8g/96e4D/eXp+/3h5 + ff93eX3/d3h9/3d4ff92d33/dnd9/3Z3fP92eHz/d3h9/3d4ff94eX3/eXp+/3l7gP96e4L/e3yH/3t8 + kP97fJ3/enuv/3l5w/93eNf/dnbl/3R06v90dOr/dHTp/3Nz6f9ycun/cnLp/3Fx6f9wcOj/cHDo/29v + 6P9ubuj/bW3o/2xs6P9ra+j/amro/2pq5/9paef/aGjn/2dn5/9mZuf/ZWXn/2Rk5v9jY+b/YmLm/2Bg + 5v9fX+b/Xl7m/11d5f9cXOX/XFzl/1pa5f9ZWeX/V1fl/1ZW5P9WVuT/VFTk/1NT5P9SUuT/UVHj/09P + 4/9OTuP/TEzj/0tL4/9KSuL/SUni/0dH4v9GRuL/RUXi/0ND4f9CQuH/QUHh/z8/4f8+PuH/PT3g/zs7 + 4P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8yMt//MTHe/y8v3v8uLt7/LS3e/yws3v8qKt3/KSnd/ygo + 3f8mJt3/JSXd/yQk3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/xwc2/8bG9v9Ghrbnhsb2/8cHNv/HR3b/x8f + 3P8gINz/ISHc/yIi3P8kJNz/JSXd/yYm3f8nJ93/KSnd/yoq3f8rK93/LS3e/y4u3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/83N9//ODjg/zk54P87O+D/PDzg/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0VF + 4v9HR+L/SEji/0lJ4v9KSuL/TEzj/01N4/9OTuP/UFDj/1FR4/9SUuT/U1Pk/1VV5P9WVuT/V1fk/1hY + 5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/15e5v9gYOb/YWHm/2Ji5v9jY+b/ZGTm/2Vl5/9mZuf/Z2fn/2ho + 5/9paef/aWnn/2pq5/9ra+j/bGzo/2xs6P9tbej/bm7o/29v6P9vb+j/cHDo/3Fx6f9xcen/cnLp/3Jy + 6f9zc+n/c3Pp/3R06v90dOr/dXXo/3Z24f93d9T/eHnF/3p6uf96e67/e3uj/3t8mf97fJT/e3yR/3t8 + jv97fIv/e3yJ/3t8iv97fI3/e3yQ/3t8k/97fJj/e3yg/3p7q/95erb/eXnC/3d40f92dt7/dHTm/3R0 + 6f90dOr/c3Pp/3Jy6f9ycun/cXHp/3Fx6f9wcOj/cHDo/29v6P9vb+j/bm7o/21t6P9sbOj/a2vo/2pq + 5/9paef/aGjn/2ho5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Nj5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc + 5f9bW+X/WVnl/1hY5f9XV+T/V1fk/1VV5P9UVOT/U1Pk/1FR4/9QUOP/T0/j/05O4/9NTeP/S0vj/0pK + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0JC4f9BQeH/Pz/h/z4+4f89PeD/PDzg/zo64P85OeD/ODjg/zY2 + 3/81Nd//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yMj + 3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv6GRnbkBoa2/8bG9v/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ykp3f8qKt3/Kyve/yws3v8uLt7/Ly/e/zEx3v8yMt//MzPf/zQ0 + 3/81Nd//Nzff/zg44P86OuD/Ozvg/zw84P8+PuD/Pz/h/0BA4f9CQuH/Q0Ph/0RE4f9FReL/R0fi/0hI + 4v9JSeL/S0vi/0xM4/9NTeP/Tk7j/09P4/9QUOP/UlLk/1NT5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1lZ + 5f9bW+X/XFzl/11d5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Nj5v9kZOb/ZGTn/2Zm5/9nZ+f/aGjn/2ho + 5/9paef/amrn/2tr6P9ra+j/bGzo/21t6P9tbej/bm7o/29v6P9wcOj/cHDo/3Fx6P9xcen/cXHp/3Jy + 6f9ycun/cnLp/3Nz6v9zc+r/c3Pq/3R06P91deX/dXXh/3Z22/92dtb/d3fT/3d30P93d87/d3fM/3d4 + zf93eND/d3fS/3Z31f92dtr/dXXg/3V15P90dOj/dHTq/3Nz6v9ycur/cnLp/3Jy6f9ycun/cnLp/3Fx + 6f9wcOj/cHDo/29v6P9ubuj/bm7o/21t6P9sbOj/a2vo/2tr6P9qauf/aWnn/2ho5/9oaOf/Z2fn/2Zm + 5/9lZef/ZGTn/2Nj5v9iYub/YWHm/2Fh5v9fX+b/Xl7m/15e5v9dXeX/W1vl/1pa5f9ZWeX/WFjl/1dX + 5P9WVuT/VVXk/1NT5P9TU+T/UVHk/1BQ4/9PT+P/TU3j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0VF + 4v9EROH/QkLh/0FB4f9AQOH/Pj7g/z094P88POD/Ozvg/zk54P84ON//Njbf/zU13/80NN//MjLf/zEx + 3v8wMN7/Ly/e/y0t3v8sLN7/Kyvd/yoq3f8oKN3/Jibd/yUl3f8lJdz/IyPc/yIi3P8hIdz/ICDc/x8f + 3P8dHdv/HBzb/xoa2/8ZGdv1GBjbdRkZ2/YbG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yQk + 3P8lJd3/Jibd/ygo3f8pKd3/Kird/yws3v8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz3/80NN//Njbf/zc3 + 3/84OOD/Ojrg/zw84P89PeD/Pj7g/z8/4f9BQeH/QUHh/0ND4f9EROH/RUXi/0ZG4v9ISOL/SUni/0pK + 4v9LS+P/TU3j/05O4/9PT+P/UFDj/1FR5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1hY5f9ZWeX/Wlrl/1xc + 5f9cXOX/Xl7l/15e5v9fX+b/YGDm/2Fh5v9iYub/Y2Pm/2Rk5/9mZuf/Zmbn/2Zm5/9nZ+f/aGjn/2lp + 5/9paef/amrn/2tr6P9sbOj/bGzo/21t6P9ubuj/bm7o/29v6P9vb+j/b2/o/3Bw6P9wcOj/cXHo/3Fx + 6f9xcen/cnLp/3Jy6f9ycun/cnLq/3Jy6v9ycur/c3Pq/3Nz6v9zc+r/c3Pq/3Jy6v9ycur/cnLq/3Jy + 6v9ycur/cnLq/3Jy6f9ycun/cXHp/3Fx6f9xcej/cHDo/3Bw6P9wcOj/b2/o/29v6P9ubuj/bm7o/21t + 6P9tbej/bGzo/2tr6P9qauf/amrn/2lp5/9oaOf/Z2fn/2Zm5/9mZuf/ZWXn/2Vl5/9kZOb/YmLm/2Ji + 5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9bW+X/WVnl/1hY5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS + 5P9RUeT/UFDj/05O4/9NTeP/TEzj/0tL4/9KSuL/SEji/0dH4v9GRuL/RUXi/0RE4f9CQuH/QUHh/0BA + 4f8+PuH/PT3g/zw84P87O+D/OTng/zg44P83N9//NTXf/zQ03/8zM9//MTHf/zAw3v8vL97/Li7e/yws + 3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3P8kJNz/IiLc/yEh3P8gINz/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8ZGdvrGBjaVRkZ29YaGtv/Gxvb/xwc2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/ycn + 3f8pKd3/Kird/ysr3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NTXf/zY23/83N9//ODjg/zo6 + 4P88POD/PT3g/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0VF4v9HR+L/SEji/0lJ4v9KSuL/S0vj/0xM + 4/9OTuP/Tk7j/09P4/9RUeP/UlLk/1NT5P9UVOT/Vlbk/1ZW5P9YWOX/WVnl/1pa5f9aWuX/W1vl/11d + 5f9eXub/X1/m/19f5v9gYOb/YWHm/2Nj5v9jY+b/ZGTm/2Vl5/9lZef/Zmbn/2dn5/9oaOf/aGjn/2lp + 5/9qauf/amro/2tr6P9ra+j/bGzo/21t6P9tbej/bm7o/25u6P9ubuj/bm7o/29v6P9wcOj/cHDo/3Bw + 6P9wcOj/cXHo/3Bw6P9wcOj/cXHp/3Bw6P9xcen/cXHp/3Fx6f9wcOj/cHDo/3Bw6P9wcOj/cHDo/3Bw + 6P9vb+j/b2/o/29v6P9vb+j/bm7o/25u6P9ubuj/bm7o/21t6P9sbOj/bGzo/2tr6P9ra+j/amrn/2lp + 5/9paef/aGjn/2dn5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Nj5v9iYub/YWHm/2Bg5v9fX+b/X1/m/11d + 5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UVHk/1BQ4/9PT+P/T0/j/01N + 4/9MTOP/S0vi/0pK4v9ISOL/R0fi/0ZG4v9FReL/Q0Ph/0JC4f9BQeH/QEDh/z8/4f89PeD/PDzg/zo6 + 4P85OeD/ODjg/zc33/81Nd//NDTf/zMz3/8yMt//MDDe/y8v3v8uLt7/LS3e/ysr3f8qKt3/KCjd/ygo + 3f8mJt3/JSXd/yQk3P8iItz/ISHc/yAg3P8fH9z/Hh7b/xwc2/8cHNv/Ghrb/xkZ2/8YGNrWFxfaORgY + 2qQZGdv9Ghrb/xsb2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi3P8kJNz/JSXc/yYm3f8nJ93/KCjd/ykp + 3f8rK93/LCze/y0t3v8vL97/MDDe/zEx3v8zM9//NDTf/zU13/82Nt//Nzff/zk54P86OuD/Ozvg/z09 + 4P8+PuD/Pz/h/0BA4f9BQeH/Q0Ph/0RE4f9FReL/Rkbi/0hI4v9JSeL/Skri/0tL4/9MTOP/TU3j/05O + 4/9PT+P/UVHj/1JS5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1hY5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/15e + 5v9fX+b/X1/m/2Fh5v9hYeb/YmLm/2Nj5v9jY+b/ZGTn/2Vl5/9mZuf/Z2fn/2dn5/9nZ+f/aGjn/2lp + 5/9qauf/amrn/2tr6P9ra+j/bGzo/2xs6P9sbOj/bW3o/21t6P9tbej/bm7o/25u6P9ubuj/bm7o/25u + 6P9vb+j/b2/o/25u6P9ubuj/b2/o/29v6P9vb+j/b2/o/29v6P9ubuj/bm7o/25u6P9tbej/bW3o/21t + 6P9tbej/bGzo/2xs6P9sbOj/a2vo/2pq6P9qauf/amrn/2lp5/9paef/aGjn/2dn5/9nZ+f/Zmbn/2Zm + 5/9lZef/ZGTm/2Nj5v9iYub/YmLm/2Fh5v9gYOb/X1/m/15e5v9dXeX/XV3l/1xc5f9bW+X/Wlrl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS5P9RUeT/UFDj/09P4/9OTuP/TU3j/0xM4/9KSuL/SUni/0hI + 4v9HR+L/Rkbi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4P88POD/Ojrg/zk54P84OOD/Nzff/zU1 + 3/80NN//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/LCze/yoq3f8pKd3/KCjd/ycn3f8mJt3/JCTc/yMj + 3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv/GRnb/xgY2v8XF9q2FxfaHhgY2mkYGNrxGRnb/xoa + 2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8jI9z/JCTc/yUl3P8mJt3/Jyfd/ygo3f8qKt3/Kyvd/y0t + 3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P85OeD/Ojrg/zs74P88POD/Pj7g/z8/ + 4f9AQOH/QUHh/0ND4f9EROH/RETi/0ZG4v9HR+L/SEji/0pK4v9LS+L/S0vj/01N4/9OTuP/T0/j/1BQ + 4/9SUuT/U1Pk/1RU5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ5f9aWuX/W1vl/1xc5f9dXeX/Xl7l/19f + 5v9gYOb/YGDm/2Fh5v9iYub/YmLm/2Nj5v9kZOb/ZWXn/2Vl5/9mZuf/Zmbn/2dn5/9oaOf/aGjn/2lp + 5/9paef/amrn/2pq5/9qauf/a2vo/2tr6P9ra+j/a2vo/2xs6P9sbOj/bGzo/2xs6P9tbej/bW3o/21t + 6P9tbej/bGzo/2xs6P9tbej/bGzo/21t6P9sbOj/bGzo/2xs6P9sbOj/a2vo/2xs6P9ra+j/amrn/2pq + 5/9paef/aWnn/2lp5/9oaOf/aGjn/2dn5/9nZ+f/Z2fn/2Zm5/9lZef/ZWXn/2Rk5v9jY+b/YmLm/2Fh + 5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU + 5P9TU+T/UlLk/1FR4/9QUOP/T0/j/05O4/9MTOP/TEzj/0pK4v9ISOL/SEji/0ZG4v9FReL/RETh/0ND + 4f9CQuH/QUHh/0BA4f8+PuH/PT3g/zw84P86OuD/OTng/zg44P83N9//Njbf/zQ03/8zM9//MjLf/zEx + 3v8wMN7/Li7e/y0t3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJdz/JCTc/yIi3P8gINz/ICDc/x4e + 2/8dHdv/HBzb/xoa2/8ZGdv/GRnb/xcX2v0XF9qKFxfaCRcX2jYXF9rSGBjb/xoa2/8bG9v/HBzb/x0d + 2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jyfd/ycn3f8oKN3/Kird/ysr3v8tLd7/Li7e/y8v + 3v8wMN7/MjLf/zMz3/80NN//NTXf/zY23/83N9//OTng/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4/9NTeP/Tk7j/09P4/9QUOP/UVHj/1JS + 5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1dX5P9ZWeX/Wlrl/1pa5f9bW+X/W1vl/11d5f9dXeX/X1/m/19f + 5v9gYOb/YWHm/2Ji5v9iYub/YmLm/2Rk5v9kZOf/ZWXn/2Vl5/9mZuf/Zmbn/2dn5/9nZ+f/aGjn/2ho + 5/9oaOf/aWnn/2lp5/9paef/aWnn/2pq5/9qauf/amrn/2tr6P9ra+j/a2vo/2tr6P9ra+j/a2vo/2pq + 5/9ra+j/amrn/2pq5/9qauf/a2vo/2pq5/9qauf/aWnn/2lp5/9paef/aGjn/2ho5/9oaOf/Z2fn/2dn + 5/9mZuf/Zmbn/2Zm5/9lZef/ZWXn/2Rk5v9jY+b/Y2Pm/2Ji5v9hYeb/YGDm/2Bg5v9fX+b/Xl7m/11d + 5f9cXOX/W1vl/1pa5f9aWuX/WVnl/1hY5f9XV+X/Vlbk/1VV5P9UVOT/U1Pk/1NT5P9RUeT/UFDj/09P + 4/9OTuP/TU3j/0xM4/9KSuL/Skri/0lJ4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/ + 4f89PeD/PDzg/zs74P85OeD/ODjf/zc33/82Nt//NDTf/zMz3/8yMt//MTHe/y8v3v8vL97/LS3e/ysr + 3v8rK93/Kird/ygo3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e2/8cHNv/Gxvb/xoa + 2/8ZGdv/GBja/xcX2uwXF9pYFxfaABcX2hIXF9qdGBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hx/c/yAg + 3P8gINz/IiLc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KSnd/yoq3f8sLN7/LCze/y4u3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/82Nt//Nzff/zk54P86OuD/Ozvg/z094P89PeD/Pz/h/0BA4f9BQeH/QkLh/0ND + 4f9EROH/Rkbi/0ZG4v9ISOL/SUni/0pK4v9LS+P/TEzj/01N4/9OTuP/T0/j/1FR4/9RUeT/UlLk/1NT + 5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/11d5f9eXub/X1/m/2Bg + 5v9gYOb/YWHm/2Ji5v9iYub/Y2Pm/2Nj5v9kZOb/ZGTn/2Vl5/9lZef/Zmbn/2Zm5/9mZuf/Z2fn/2dn + 5/9nZ+f/aGjn/2ho5/9oaOf/aGjn/2ho5/9paef/aWnn/2lp5/9paef/aWnn/2lp5/9oaOf/aWnn/2ho + 5/9oaOf/aGjn/2ho5/9oaOf/aGjn/2dn5/9nZ+f/Zmbn/2Zm5/9mZuf/Zmbn/2Vl5/9kZOf/ZGTm/2Rk + 5v9jY+b/Y2Pm/2Ji5v9hYeb/YGDm/2Bg5v9fX+b/Xl7m/15e5v9dXeX/XFzl/1tb5f9bW+X/Wlrl/1lZ + 5f9YWOX/V1fl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UlLk/1FR4/9QUOP/T0/j/05O4/9MTOP/S0vj/0pK + 4v9JSeL/SEji/0dH4v9GRuL/RUXi/0RE4f9DQ+H/QkLh/0BA4f9AQOH/Pj7h/z094P88POD/Ozvg/zk5 + 4P84OOD/Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/LCze/ysr3f8qKt3/KCjd/ycn + 3f8mJt3/JSXc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2scWFtomFhbaABwc2wAWFtpcFxfa7RgY2v8ZGdv/Ghrb/xsb2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8nJ93/KCjd/ykp3f8qKt3/Kyve/y0t3v8uLt7/Ly/e/zAw3v8xMd//MzPf/zQ0 + 3/81Nd//Njbf/zc33/85OeD/Ojrg/zs74P88POD/PT3g/z4+4f8/P+H/QUHh/0JC4f9DQ+H/RETh/0VF + 4v9GRuL/R0fi/0hI4v9JSeL/Skri/0xM4/9MTOP/Tk7j/05O4/9PT+P/UFDj/1JS5P9TU+T/VFTk/1RU + 5P9VVeT/Vlbk/1dX5P9YWOX/WFjl/1pa5f9aWuX/W1vl/1tb5f9cXOX/XV3l/15e5f9eXub/X1/m/2Bg + 5v9gYOb/YWHm/2Fh5v9iYub/YmLm/2Nj5v9jY+b/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl5/9lZef/Zmbn/2Zm + 5/9mZuf/Zmbn/2Zm5/9mZuf/Z2fn/2dn5/9nZ+f/Z2fn/2dn5/9mZuf/Z2fn/2dn5/9mZuf/Zmbn/2Zm + 5/9mZuf/Zmbn/2Vl5/9lZef/ZGTn/2Rk5/9kZOf/ZGTn/2Nj5v9jY+b/YmLm/2Fh5v9hYeb/YWHm/2Bg + 5v9fX+b/X1/m/15e5v9dXeX/XV3l/1xc5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9XV+T/Vlbk/1VV + 5P9UVOT/U1Pk/1JS5P9RUeT/UFDj/09P4/9OTuP/TU3j/0xM4/9LS+L/Skri/0lJ4v9ISOL/R0fi/0ZG + 4v9FReL/RETh/0JC4f9BQeH/QEDh/z8/4f8+PuD/PT3g/zw84P87O+D/OTng/zg44P83N9//Njbf/zU1 + 3/80NN//MjLf/zEx3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yIi + 3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/GRnb/xgY2/8XF9r/Fhba+xYW2ogVFdoHFRXaABYW + 2gAWFtohFhbavBcX2v8YGNr/GRnb/xoa2/8bG9v/HBzb/x4e2/8fH9z/ICDc/yEh3P8jI9z/IyPc/yQk + 3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8tLd7/LS3e/y8v3v8wMN7/MTHe/zMz3/80NN//NTXf/zY2 + 3/83N9//ODjg/zo64P87O+D/PDzg/z094P8+PuD/Pz/h/0FB4f9CQuH/QkLh/0ND4f9EROL/Rkbi/0dH + 4v9ISOL/SUni/0pK4v9LS+L/TEzj/01N4/9OTuP/T0/j/1BQ4/9RUeP/UlLk/1JS5P9TU+T/VFTk/1VV + 5P9WVuT/V1fk/1hY5f9YWOX/WVnl/1pa5f9bW+X/W1vl/1xc5f9dXeX/Xl7l/15e5v9eXub/X1/m/2Bg + 5v9gYOb/YGDm/2Bg5v9hYeb/YmLm/2Ji5v9jY+b/Y2Pm/2Nj5v9jY+b/ZGTm/2Rk5v9kZOb/ZGTm/2Rk + 5/9kZOf/ZGTn/2Rk5/9kZOf/ZGTn/2Vl5/9lZef/ZWXn/2Rk5/9kZOf/ZGTn/2Rk5v9jY+b/Y2Pm/2Nj + 5v9jY+b/Y2Pm/2Ji5v9iYub/YmLm/2Fh5v9hYeb/YGDm/19f5v9fX+b/X1/m/15e5v9dXeX/XV3l/1xc + 5f9bW+X/W1vl/1pa5f9ZWeX/WVnl/1hY5f9YWOX/Vlbk/1VV5P9VVeT/VFTk/1NT5P9SUuT/UVHk/1BQ + 4/9QUOP/Tk7j/01N4/9NTeP/TEzj/0pK4v9KSuL/SUni/0dH4v9GRuL/Rkbi/0RE4v9DQ+H/QkLh/0FB + 4f9AQOH/Pz/h/z094P88POD/Ozvg/zo64P85OeD/ODjf/zc33/82Nt//NTXf/zMz3/8yMt//MTHe/y8v + 3v8uLt7/LS3e/yws3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yIi3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba3hYW2j4WFtoAAAAAABUV2gAVFdoCFRXaaxYW + 2vQXF9r/GBjb/xoa2/8aGtv/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/KSnd/yoq3f8rK97/LCze/y4u3v8vL97/MDDe/zEx3v8zM9//MzPf/zQ03/82Nt//Nzff/zg4 + 4P86OuD/Ozvg/zw84P88POD/Pj7g/z8/4f9AQOH/QUHh/0JC4f9DQ+H/RETi/0ZG4v9HR+L/R0fi/0lJ + 4v9KSuL/S0vi/0tL4/9MTOP/Tk7j/05O4/9PT+P/UFDj/1FR5P9SUuT/UlLk/1NT5P9UVOT/VVXk/1ZW + 5P9XV+T/V1fk/1hY5f9ZWeX/WVnl/1pa5f9bW+X/XFzl/1xc5f9cXOX/XV3l/15e5v9eXub/Xl7m/19f + 5v9fX+b/YGDm/2Bg5v9hYeb/YWHm/2Fh5v9hYeb/YmLm/2Ji5v9iYub/YmLm/2Nj5v9jY+b/YmLm/2Ji + 5v9jY+b/YmLm/2Nj5v9jY+b/Y2Pm/2Ji5v9iYub/YmLm/2Ji5v9iYub/YmLm/2Ji5v9hYeb/YWHm/2Bg + 5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/15e5f9dXeX/XV3l/1xc5f9bW+X/W1vl/1pa5f9aWuX/WVnl/1hY + 5f9YWOX/V1fk/1ZW5P9WVuT/VVXk/1RU5P9TU+T/U1Pk/1FR5P9QUOP/UFDj/09P4/9OTuP/TU3j/0xM + 4/9LS+P/Skri/0lJ4v9JSeL/R0fi/0ZG4v9FReL/RETh/0ND4f9CQuH/QUHh/0BA4f8/P+H/PT3g/zw8 + 4P87O+D/Ojrg/zk54P83N9//Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y8v3v8tLd7/LCze/ysr + 3f8qKt3/KCjd/ygo3f8mJt3/JSXd/yUl3P8jI9z/IiLc/yAg3P8gINz/Hh7b/x0d2/8cHNv/Gxvb/xkZ + 2/8ZGdv/GBjb/xcX2v8WFtr9FhbamBUV2gwVFdoAAAAAAAAAAAAWFtoAFRXaIBYW2rwXF9r/GBja/xkZ + 2/8ZGdv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8kJNz/JSXc/yYm3f8nJ93/KCjd/ykp + 3f8qKt3/LCze/yws3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zs7 + 4P88POD/PT3g/z4+4P8/P+H/QEDh/0FB4f9CQuH/Q0Ph/0RE4f9FReL/Rkbi/0dH4v9ISOL/SUni/0pK + 4v9LS+P/TEzj/0xM4/9NTeP/T0/j/09P4/9QUOP/UVHj/1JS5P9SUuT/U1Pk/1RU5P9VVeT/VVXk/1ZW + 5P9XV+T/WFjl/1hY5f9ZWeX/WVnl/1pa5f9bW+X/W1vl/1xc5f9cXOX/XV3l/11d5f9eXuX/Xl7l/19f + 5v9fX+b/X1/m/19f5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9hYeb/YGDm/2Fh5v9hYeb/YWHm/2Fh + 5v9hYeb/YWHm/2Fh5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/19f5v9eXub/Xl7l/11d + 5f9dXeX/XV3l/1xc5f9cXOX/W1vl/1pa5f9aWuX/WVnl/1lZ5f9YWOX/V1fk/1dX5P9WVuT/VVXk/1RU + 5P9UVOT/U1Pk/1JS5P9RUeT/UVHj/1BQ4/9PT+P/Tk7j/01N4/9MTOP/S0vj/0pK4v9KSuL/SEji/0dH + 4v9HR+L/RUXi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4P89PeD/PDzg/zs74P86OuD/ODjg/zc3 + 3/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Li7e/y0t3v8sLN7/Kyvd/yoq3f8pKd3/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/x8f3P8fH9z/Hh7b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2v8VFdraFRXaQRYW2gAVFdoAAAAAAAAAAAAVFdoAFhbaAhUV2loWFtroFxfa/xgY2v8ZGdv/Ghrb/xsb + 2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/ysr + 3v8sLN7/Li7e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zk54P86OuD/Ozvg/zw8 + 4P89PeD/Pj7h/0BA4f9BQeH/QUHh/0ND4f9DQ+H/RETh/0ZG4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL + 4v9LS+P/TU3j/01N4/9PT+P/UFDj/1BQ4/9QUOP/UVHk/1NT5P9TU+T/VFTk/1RU5P9VVeT/Vlbk/1ZW + 5P9XV+T/WFjl/1hY5f9ZWeX/WVnl/1pa5f9aWuX/W1vl/1xc5f9cXOX/XFzl/1xc5f9dXeX/XV3l/11d + 5f9dXeX/Xl7m/15e5v9eXub/Xl7m/15e5v9eXub/X1/m/19f5v9fX+b/X1/m/19f5v9fX+b/X1/m/19f + 5v9fX+b/X1/m/15e5v9eXub/XV3l/11d5f9dXeX/XV3l/11d5f9cXOX/XFzl/1tb5f9bW+X/Wlrl/1pa + 5f9aWuX/WVnl/1hY5f9YWOX/WFjl/1dX5P9WVuT/VVXk/1VV5P9UVOT/U1Pk/1JS5P9SUuT/UVHk/1FR + 4/9QUOP/T0/j/05O4/9NTeP/TEzj/0tL4/9LS+L/Skri/0lJ4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND + 4f9CQuH/QUHh/0BA4f8/P+H/Pj7g/z094P88POD/Ojrg/zo64P84OOD/Nzff/zY23/81Nd//NDTf/zIy + 3/8xMd7/MDDe/zAw3v8uLt7/LS3e/yws3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yIi + 3P8hIdz/ICDc/x4e2/8eHtv/HR3b/xwc2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xYW2vYVFdqDFBTaChQU + 2gAAAAAAAAAAAAAAAAATE9oAFRXaABUV2hMVFdqYFhba+hcX2v8YGNr/GRnb/xoa2/8bG9v/HBzb/x0d + 2/8eHtv/Hx/c/yEh3P8iItz/IiLc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK97/LCze/y4u + 3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ03/81Nd//Nzff/zc33/85OeD/Ojrg/zo64P88POD/PT3g/z4+ + 4P8/P+H/QEDh/0FB4f9CQuH/Q0Ph/0RE4f9FReL/Rkbi/0dH4v9ISOL/SEji/0lJ4v9KSuL/S0vj/0xM + 4/9NTeP/Tk7j/09P4/9PT+P/UFDj/1FR4/9RUeT/UlLk/1NT5P9UVOT/VFTk/1VV5P9VVeT/Vlbk/1ZW + 5P9XV+T/V1fk/1dX5P9YWOX/WVnl/1pa5f9aWuX/Wlrl/1tb5f9bW+X/W1vl/1tb5f9bW+X/XFzl/1xc + 5f9dXeX/XFzl/1xc5f9dXeX/XV3l/11d5f9dXeX/XV3l/11d5f9dXeX/XV3l/11d5f9dXeX/XFzl/1xc + 5f9cXOX/XFzl/1tb5f9bW+X/W1vl/1pa5f9aWuX/Wlrl/1lZ5f9ZWeX/WVnl/1hY5f9YWOX/WFjl/1dX + 5P9WVuT/VVXk/1VV5P9UVOT/VFTk/1NT5P9SUuT/UlLk/1FR4/9RUeP/UFDj/09P4/9OTuP/TU3j/0xM + 4/9MTOP/S0vi/0pK4v9JSeL/SEji/0dH4v9GRuL/RUXi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/QEDh/z8/ + 4f89PeD/PDzg/zs74P86OuD/OTng/zg44P83N9//Njbf/zU13/80NN//MzPf/zIy3/8wMN7/Ly/e/y4u + 3v8tLd7/LCze/ysr3f8qKt3/KSnd/ygo3f8nJ93/JSXd/yQk3P8jI9z/IiLc/yEh3P8gINz/Hh7b/x0d + 2/8cHNv/Gxvb/xoa2/8ZGdv/GRnb/xcX2v8XF9r/Fhba/xUV2r0VFdopFhbaABAQ2QAAAAAAAAAAAAAA + AAAAAAAAFRXaABUV2gAVFdouFRXawBYW2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f + 3P8gINz/ISHc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp3f8rK93/Kyve/y0t3v8uLt7/Ly/e/y8v + 3v8xMd7/MjLf/zMz3/80NN//NTXf/zY23/83N9//ODjg/zk54P86OuD/Ozvg/zw84P89PeD/Pz/h/z8/ + 4f9AQOH/QUHh/0ND4f9DQ+H/RETh/0VF4v9GRuL/R0fi/0hI4v9ISOL/SUni/0pK4v9LS+P/TEzj/01N + 4/9OTuP/Tk7j/09P4/9QUOP/UFDj/1FR4/9SUuT/UlLk/1NT5P9TU+T/VFTk/1VV5P9VVeT/VVXk/1ZW + 5P9XV+T/V1fk/1dX5P9XV+X/WFjl/1hY5f9ZWeX/WVnl/1lZ5f9aWuX/Wlrl/1pa5f9bW+X/Wlrl/1tb + 5f9bW+X/W1vl/1tb5f9bW+X/W1vl/1tb5f9bW+X/W1vl/1tb5f9bW+X/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9aWuX/WVnl/1hY5f9YWOX/WFjl/1dX5P9XV+T/V1fk/1ZW5P9WVuT/Vlbk/1VV5P9UVOT/U1Pk/1NT + 5P9TU+T/UlLk/1FR5P9RUeP/UFDj/09P4/9PT+P/Tk7j/01N4/9MTOP/S0vj/0tL4v9KSuL/SUni/0hI + 4v9HR+L/Rkbi/0ZG4v9FReL/RETh/0ND4f9BQeH/QUHh/0BA4f8/P+H/Pj7h/z094P88POD/Ozvg/zo6 + 4P85OeD/ODjf/zc33/81Nd//NDTf/zQ03/8zM9//MjLf/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq + 3f8pKd3/Jyfd/ycn3f8mJt3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8ZGdv/GBja/xcX2v8WFtr/FRXa3hUV2kwSEtoBExPaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQU + 2gAUFNoCFRXaTRUV2twWFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8jI9z/JCTc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr3v8tLd7/LS3e/y4u3v8wMN7/MTHe/zEx + 3/8yMt//NDTf/zU13/82Nt//Nzff/zg44P85OeD/Ojrg/zs74P88POD/PT3g/z4+4P8+PuH/Pz/h/0FB + 4f9BQeH/Q0Ph/0ND4f9FReL/RUXi/0ZG4v9HR+L/SEji/0lJ4v9KSuL/Skri/0tL4/9MTOP/TEzj/01N + 4/9OTuP/Tk7j/09P4/9QUOP/UVHj/1FR5P9SUuT/UlLk/1NT5P9TU+T/VFTk/1RU5P9VVeT/VVXk/1VV + 5P9WVuT/V1fk/1ZW5P9XV+T/V1fl/1hY5f9YWOX/WFjl/1hY5f9ZWeX/WVnl/1lZ5f9ZWeX/WVnl/1lZ + 5f9aWuX/WVnl/1lZ5f9ZWeX/WVnl/1lZ5f9ZWeX/WVnl/1lZ5f9YWOX/WFjl/1hY5f9YWOX/V1fk/1dX + 5P9XV+T/Vlbk/1VV5P9VVeT/VVXk/1VV5P9UVOT/VFTk/1NT5P9SUuT/UlLk/1FR5P9RUeP/UFDj/09P + 4/9PT+P/Tk7j/01N4/9NTeP/TEzj/0tL4/9LS+L/Skri/0lJ4v9ISOL/SEji/0dH4v9GRuL/RUXi/0RE + 4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4f8+PuD/PT3g/zw84P86OuD/OTng/zg44P83N9//Njbf/zU1 + 3/80NN//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl + 3f8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/GRnb/xgY2/8YGNr/Fxfa/xYW + 2v8VFdrtFBTadBMT2ggUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFNoAFBTaBxQU + 2mcVFdrkFhba/xcX2v8YGNv/GRnb/xoa2/8bG9v/HR3b/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yMj + 3P8lJdz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK97/LCze/y0t3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ0 + 3/81Nd//NTXf/zY23/83N9//OTng/zk54P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f9AQOH/QUHh/0JC + 4f9DQ+H/RETh/0RE4f9GRuL/R0fi/0dH4v9ISOL/SEji/0lJ4v9KSuL/S0vi/0tL4/9MTOP/TU3j/05O + 4/9OTuP/Tk7j/1BQ4/9QUOP/UFDj/1FR4/9RUeT/UlLk/1NT5P9TU+T/U1Pk/1RU5P9UVOT/VVXk/1VV + 5P9VVeT/VVXk/1VV5P9WVuT/V1fk/1ZW5P9WVuT/V1fk/1dX5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1dX + 5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1ZW5P9WVuT/Vlbk/1ZW5P9WVuT/VVXk/1VV5P9VVeT/VFTk/1RU + 5P9UVOT/U1Pk/1NT5P9SUuT/UlLk/1FR5P9QUOP/UFDj/1BQ4/9PT+P/Tk7j/05O4/9NTeP/TEzj/0tL + 4/9LS+L/Skri/0lJ4v9JSeL/SEji/0dH4v9GRuL/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/0BA + 4f8/P+H/Pj7h/z094P88POD/Ozvg/zo64P85OeD/ODjg/zc33/82Nt//NTXf/zQ03/8zM9//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/ycn3f8nJ93/JSXd/yQk3P8jI9z/IiLc/yEh + 3P8gINz/Hx/c/x0d2/8cHNv/HBzb/xsb2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xUV2vQVFdqLFRXaFBYW + 2gAUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD9kAFRXaABQU2gsVFdpxFhba5hcX + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/IiLc/yMj3P8jI9z/JCTc/yUl + 3f8nJ93/KCjd/ykp3f8qKt3/Kyvd/yws3v8tLd7/Li7e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU1 + 3/82Nt//Nzff/zg44P85OeD/Ojrg/zs74P88POD/PT3g/z4+4P8+PuH/Pz/h/0BA4f9BQeH/QkLh/0ND + 4f9EROH/RETh/0VF4v9GRuL/R0fi/0hI4v9JSeL/SUni/0lJ4v9KSuL/S0vj/0xM4/9MTOP/TEzj/05O + 4/9OTuP/Tk7j/09P4/9QUOP/UFDj/1FR4/9RUeT/UlLk/1JS5P9TU+T/U1Pk/1NT5P9TU+T/VFTk/1RU + 5P9UVOT/VFTk/1RU5P9UVOT/VVXk/1VV5P9VVeT/VVXk/1VV5P9VVeT/VVXk/1VV5P9VVeT/VVXk/1VV + 5P9VVeT/VVXk/1VV5P9UVOT/VFTk/1RU5P9UVOT/U1Pk/1NT5P9TU+T/UlLk/1JS5P9SUuT/UlLk/1FR + 4/9QUOP/UFDj/1BQ4/9PT+P/T0/j/05O4/9NTeP/TU3j/0xM4/9LS+P/S0vi/0pK4v9JSeL/SUni/0hI + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9CQuH/QkLh/0BA4f9AQOH/Pz/h/z4+4f8+PuD/PDzg/zs7 + 4P86OuD/OTng/zg44P84ON//Nzff/zY23/80NN//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/y0t + 3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yMj3P8iItz/ISHc/x8f3P8fH9z/Hh7b/xwc + 2/8cHNv/Gxvb/xkZ2/8ZGdv/GBja/xcX2v8WFtr/FRXa9BUV2pQVFdoaFBTaABcX2gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUV2gAVFdoPFRXabRUV2uIWFtr/Fxfa/xkZ + 2/8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8lJd3/Jyfd/ygo + 3f8oKN3/KSnd/ysr3f8rK97/LS3e/y4u3v8uLt7/Ly/e/zEx3v8xMd7/MzPf/zQ03/80NN//Njbf/zY2 + 3/84ON//ODjg/zo64P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f8/P+H/QEDh/0FB4f9CQuH/QkLh/0ND + 4f9EROH/RUXi/0ZG4v9HR+L/R0fi/0hI4v9JSeL/SUni/0pK4v9LS+L/S0vj/0xM4/9MTOP/TU3j/05O + 4/9OTuP/Tk7j/09P4/9PT+P/UFDj/1BQ4/9RUeP/UVHj/1FR4/9RUeP/UlLk/1JS5P9SUuT/UlLk/1JS + 5P9SUuT/UlLk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT + 5P9SUuT/UlLk/1JS5P9SUuT/UlLk/1FR5P9RUeP/UVHj/1BQ4/9QUOP/UFDj/09P4/9PT+P/Tk7j/05O + 4/9NTeP/TU3j/0xM4/9MTOP/S0vj/0pK4v9JSeL/SUni/0hI4v9HR+L/R0fi/0ZG4v9GRuL/RUXi/0RE + 4f9EROH/QkLh/0JC4f9BQeH/QEDh/z8/4f8+PuH/PT3g/z094P88POD/Ojrg/zo64P85OeD/ODjf/zc3 + 3/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Ly/e/y4u3v8tLd7/LCze/ysr3f8qKt3/KSnd/ygo + 3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yIi3P8hIdz/ICDc/x4e2/8dHdv/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/Fxfa/xYW2v8VFdrvFRXakBUV2hwUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFdoAFRXaChUV2mAVFdrUFhba/RcX2v8YGNv/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yQk3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp + 3f8qKt3/Kyvd/yws3v8tLd7/Ly/e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU13/82Nt//Nzff/zg4 + 4P85OeD/Ojrg/zs74P87O+D/PDzg/z094P8+PuD/Pz/h/0BA4f9AQOH/QUHh/0JC4f9DQ+H/Q0Ph/0VF + 4v9FReL/Rkbi/0ZG4v9HR+L/SEji/0hI4v9JSeL/Skri/0pK4v9LS+L/S0vj/0xM4/9MTOP/TU3j/01N + 4/9NTeP/Tk7j/05O4/9OTuP/T0/j/09P4/9PT+P/UFDj/1BQ4/9QUOP/UFDj/1BQ4/9RUeP/UVHj/1FR + 5P9RUeT/UVHj/1FR5P9RUeT/UVHk/1FR5P9RUeT/UVHj/1FR4/9RUeT/UVHk/1FR4/9QUOP/UFDj/1BQ + 4/9QUOP/UFDj/09P4/9PT+P/T0/j/05O4/9OTuP/Tk7j/05O4/9NTeP/TEzj/0xM4/9MTOP/S0vj/0pK + 4v9KSuL/SUni/0hI4v9ISOL/R0fi/0dH4v9FReL/RUXi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QUHh/0BA + 4f8/P+H/Pj7h/z094P89PeD/PDzg/zs74P86OuD/OTng/zg44P84ON//Njbf/zU13/81Nd//MzPf/zMz + 3/8yMt//MDDe/y8v3v8vL97/Li7e/yws3v8sLN7/Kyvd/yoq3f8pKd3/KCjd/yYm3f8lJd3/JSXc/yQk + 3P8jI9z/IiLc/yAg3P8gINz/Hx/c/x4e2/8dHdv/Gxvb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xUV + 2uYVFdqAFRXaFxQU2gAVFdoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAeHtsAFRXaABQU2gUWFtpBFhbasxcX2vYYGNr/GRnb/xkZ2/8aGtv/Gxvb/xwc + 2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr + 3f8sLN7/LS3e/y4u3v8vL97/MDDe/zEx3v8yMt//MjLf/zQ03/81Nd//NTXf/zY23/83N9//ODjg/zk5 + 4P86OuD/Ojrg/zs74P88POD/PT3g/z4+4P8/P+H/QEDh/0BA4f9BQeH/QUHh/0JC4f9DQ+H/RETh/0RE + 4f9FReL/Rkbi/0ZG4v9HR+L/SEji/0hI4v9ISOL/SUni/0pK4v9KSuL/S0vj/0tL4/9MTOP/TEzj/0xM + 4/9NTeP/TU3j/01N4/9OTuP/Tk7j/05O4/9OTuP/T0/j/09P4/9PT+P/T0/j/09P4/9PT+P/T0/j/09P + 4/9PT+P/T0/j/09P4/9PT+P/UFDj/1BQ4/9QUOP/T0/j/09P4/9PT+P/T0/j/05O4/9OTuP/TU3j/01N + 4/9OTuP/TU3j/01N4/9MTOP/TEzj/0xM4/9LS+P/Skri/0pK4v9KSuL/SUni/0hI4v9ISOL/R0fi/0dH + 4v9GRuL/Rkbi/0VF4v9EROH/Q0Ph/0ND4f9CQuH/QkLh/0FB4f9AQOH/Pz/h/z4+4f89PeD/PT3g/zw8 + 4P87O+D/Ojrg/zk54P84OOD/ODjf/zc33/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Ly/e/y4u + 3v8tLd7/LS3e/ysr3v8rK93/Kird/ykp3f8nJ93/Jyfd/yYm3f8kJNz/IyPc/yMj3P8iItz/ICDc/x8f + 3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8WFtr6FRXazBUV2lsUFNoMFBTaABER + 2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABUV2gAVFdoBFhbaIxcX2oIXF9raGBja/RgY2/8ZGdv/Ghrb/xsb2/8dHdv/HR3b/x4e + 2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8kJNz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/yws + 3v8uLt7/Ly/e/y8v3v8wMN7/MTHe/zIy3/80NN//NDTf/zQ03/82Nt//Nzff/zc33/84OOD/OTng/zo6 + 4P87O+D/Ozvg/zw84P89PeD/Pj7g/z4+4f8/P+H/QEDh/0FB4f9CQuH/QkLh/0ND4f9EROH/RETh/0VF + 4v9FReL/Rkbi/0ZG4v9GRuL/R0fi/0hI4v9ISOL/SUni/0lJ4v9KSuL/Skri/0tL4v9LS+P/S0vj/0xM + 4/9MTOP/TEzj/0xM4/9NTeP/TU3j/01N4/9NTeP/Tk7j/01N4/9NTeP/TU3j/01N4/9OTuP/Tk7j/05O + 4/9OTuP/Tk7j/05O4/9OTuP/TU3j/01N4/9NTeP/TU3j/0xM4/9MTOP/TEzj/0xM4/9LS+P/S0vj/0tL + 4/9KSuL/Skri/0pK4v9JSeL/SEji/0hI4v9ISOL/R0fi/0dH4v9GRuL/Rkbi/0VF4v9EROH/RETh/0ND + 4f9CQuH/QkLh/0FB4f9BQeH/QEDh/z8/4f8+PuH/Pj7g/z094P88POD/Ozvg/zs74P86OuD/OTng/zg4 + 3/83N9//Njbf/zY23/80NN//MzPf/zMz3/8yMt//MTHe/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq + 3f8pKd3/KCjd/ygo3f8mJt3/Jibd/yQk3P8jI9z/IiLc/yEh3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2ugWFtqbFRXaOBQU2gMVFdoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATE9oAGhrbABUV2goXF9pEFxfaoRgY2ucYGNr8GRnb/xoa2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg + 3P8hIdz/ISHc/yIi3P8jI9z/JSXc/yYm3f8mJt3/Jyfd/ygo3f8pKd3/Kyvd/ysr3v8sLN7/LS3e/y4u + 3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ03/80NN//NTXf/zY23/83N9//ODjf/zg44P85OeD/Ojrg/zs7 + 4P88POD/PDzg/z094P8+PuD/Pz/h/z8/4f9AQOH/QEDh/0FB4f9CQuH/Q0Ph/0ND4f9EROH/RETh/0VF + 4v9FReL/Rkbi/0ZG4v9HR+L/R0fi/0hI4v9ISOL/SUni/0lJ4v9JSeL/SUni/0lJ4v9KSuL/Skri/0pK + 4v9LS+P/S0vj/0tL4/9LS+P/S0vj/0xM4/9MTOP/TEzj/0xM4/9LS+P/TEzj/0xM4/9MTOP/TEzj/0xM + 4/9MTOP/S0vj/0tL4/9LS+P/S0vj/0pK4v9KSuL/Skri/0pK4v9KSuL/SUni/0lJ4v9ISOL/SEji/0hI + 4v9HR+L/R0fi/0dH4v9GRuL/Rkbi/0VF4v9EROH/RETh/0ND4f9DQ+H/QkLh/0JC4f9BQeH/QEDh/0BA + 4f8/P+H/Pj7g/z4+4P89PeD/PDzg/zs74P86OuD/Ojrg/zk54P85OeD/ODjf/zY23/82Nt//NTXf/zQ0 + 3/8zM9//MjLf/zIy3/8xMd7/Ly/e/y4u3v8uLt7/LS3e/ysr3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8aGtv/GRnb/xgY + 2v4XF9rvFhbauBYW2lkVFdoUFhbaABUV2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW + 2gAWFtoBFxfaEBgY2koYGNqdGBjb2BkZ2/YaGtv/Gxvb/xwc2/8cHNv/Hh7b/x8f3P8fH9z/ICDc/yEh + 3P8iItz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/Kyve/y0t3v8uLt7/Li7e/y8v + 3v8wMN7/MTHe/zIy3/8zM9//MzPf/zQ03/81Nd//Njbf/zc33/84ON//OTng/zk54P86OuD/Ojrg/zs7 + 4P88POD/PT3g/z094P8+PuD/Pj7h/z8/4f9AQOH/QEDh/0FB4f9CQuH/Q0Ph/0ND4f9DQ+H/RETh/0RE + 4f9FReL/RUXi/0ZG4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0hI4v9ISOL/SEji/0lJ4v9JSeL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9KSuL/Skri/0pK4v9KSuL/Skri/0pK4v9KSuL/Skri/0pK4v9JSeL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9ISOL/SEji/0hI4v9ISOL/SEji/0dH4v9GRuL/Rkbi/0ZG4v9GRuL/RUXi/0VF + 4v9EROH/RETh/0ND4f9DQ+H/QkLh/0JC4f9BQeH/QEDh/0BA4f8/P+H/Pj7h/z094P89PeD/PDzg/zw8 + 4P87O+D/Ojrg/zo64P85OeD/ODjf/zc33/83N9//Njbf/zU13/80NN//MzPf/zIy3/8xMd7/MTHe/zAw + 3v8vL97/Li7e/y0t3v8sLN7/Kyve/yoq3f8pKd3/KCjd/ygo3f8nJ93/JSXd/yUl3P8kJNz/IyPc/yIi + 3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Gxvb/xoa2/8YGNv6GBja4hcX2q8WFtpeFhbaGxYW + 2gIWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhbaABUV + 2gAXF9oPGBjaOBkZ23QZGdutGhrb1Bsb2+8cHNv7HBzb/h4e2/8fH9z/ICDc/yAg3P8hIdz/IiLc/yMj + 3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ygo3f8qKt3/Kyvd/ysr3f8sLN7/LS3e/y4u3v8vL97/MDDe/zEx + 3v8xMd7/MjLf/zMz3/80NN//NTXf/zU13/82Nt//Nzff/zg43/84OOD/OTng/zo64P86OuD/Ozvg/zs7 + 4P88POD/PT3g/z4+4P8+PuD/Pz/h/0BA4f9AQOH/QUHh/0FB4f9CQuH/QkLh/0JC4f9DQ+H/RETh/0RE + 4f9FReL/RUXi/0VF4v9FReL/Rkbi/0ZG4v9GRuL/R0fi/0dH4v9HR+L/R0fi/0dH4v9ISOL/SEji/0hI + 4v9ISOL/SEji/0hI4v9ISOL/SEji/0hI4v9ISOL/SEji/0hI4v9ISOL/R0fi/0dH4v9HR+L/R0fi/0dH + 4v9GRuL/Rkbi/0ZG4v9GRuL/Rkbi/0VF4v9FReL/RETh/0RE4f9EROH/Q0Ph/0ND4f9DQ+H/QkLh/0FB + 4f9BQeH/QEDh/0BA4f8/P+H/Pj7h/z4+4P8+PuD/PT3g/zw84P87O+D/Ozvg/zs74P86OuD/OTng/zg4 + 4P83N9//Njbf/zY23/81Nd//NDTf/zMz3/8yMt//MjLf/zEx3v8wMN7/Ly/e/y8v3v8uLt7/LS3e/ysr + 3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm3f8mJt3/JCTc/yMj3P8jI9z/IiLc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/wbG9vzGhrb3BkZ27gYGNqDFxfaRxcX2hcWFtoCFhbaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHNsAGBjaABgY + 2wQZGdsZGhrbNxoa22UbG9uTHBzbtx0d29UdHdvoHh7b8x8f3PwgINz/ISHc/yMj3P8jI9z/JCTc/yUl + 3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/Li7e/y8v3v8wMN7/MTHe/zEx + 3v8zM9//MzPf/zQ03/81Nd//NTXf/zY23/83N9//ODjg/zk54P85OeD/Ojrg/zo64P87O+D/PDzg/zw8 + 4P89PeD/PT3g/z4+4P8/P+H/Pz/h/0BA4f9AQOH/QEDh/0FB4f9CQuH/QkLh/0ND4f9DQ+H/Q0Ph/0ND + 4f9EROH/RETh/0RE4v9FReL/RUXi/0ZG4v9FReL/Rkbi/0ZG4v9GRuL/Rkbi/0ZG4v9GRuL/R0fi/0dH + 4v9GRuL/R0fi/0dH4v9GRuL/Rkbi/0dH4v9GRuL/Rkbi/0ZG4v9FReL/RUXi/0ZG4v9FReL/RUXi/0VF + 4v9EROH/RETh/0RE4f9DQ+H/Q0Ph/0ND4f9CQuH/QkLh/0FB4f9BQeH/QEDh/0BA4f8/P+H/Pz/h/z8/ + 4f8+PuD/PT3g/z094P88POD/Ozvg/zo64P86OuD/Ojrg/zk54P84OOD/Nzff/zc33/82Nt//Njbf/zQ0 + 3/80NN//MzPf/zIy3/8xMd7/MDDe/zAw3v8vL97/Li7e/y4u3v8tLd7/LCze/yoq3f8pKd3/KSnd/ygo + 3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yMj3P8iItz/ICDc/yAg3P8fH9z9Hh7b9hwc2+scHNvbGxvbvxoa + 250aGttxGhrbQhkZ2x8YGNoIHh7bAAsL2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAAAAAAAAAf////+ + AAAAAAAAAAAAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAA + AAAAAAAAAAAP///AAAAAAAAAAAAAAAAAAAAAAAAAAAAH//+AAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAB//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA + 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 + + + \ No newline at end of file From 0434113e4be4358e0895b6f5206651fda56ed40c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 25 Oct 2021 21:36:33 +1300 Subject: [PATCH 046/112] [WIP] Partial support package creation button Adding button to create support package ZIP file to make troubleshooting easier. --- DisplayMagician/DisplayMagician.csproj | 7 ++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/SettingsForm.Designer.cs | 53 ++++++++++++++++++- DisplayMagician/UIForms/SettingsForm.cs | 41 ++++++++++++++ .../DisplayMagicianShared.csproj | 2 +- 5 files changed, 100 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 29fc73d..f5138c7 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -301,7 +301,7 @@ 4.0.0-beta.74 - 7.1.0-preview1 + 7.1.1 1.0.4 @@ -316,7 +316,7 @@ 2.1.0 - 4.7.11 + 4.7.12 3.0.101 @@ -324,6 +324,9 @@ 1.0.0 + + 4.3.0 + 0.3.1.152 diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e340085..3488c8c 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.17")] -[assembly: AssemblyFileVersion("2.1.0.17")] +[assembly: AssemblyVersion("2.1.0.18")] +[assembly: AssemblyFileVersion("2.1.0.18")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/SettingsForm.Designer.cs b/DisplayMagician/UIForms/SettingsForm.Designer.cs index 39d96b5..0564dcd 100644 --- a/DisplayMagician/UIForms/SettingsForm.Designer.cs +++ b/DisplayMagician/UIForms/SettingsForm.Designer.cs @@ -50,9 +50,13 @@ namespace DisplayMagician.UIForms this.gb_upgrades = new System.Windows.Forms.GroupBox(); this.label2 = new System.Windows.Forms.Label(); this.cb_upgrade_prerelease = new System.Windows.Forms.CheckBox(); + this.gb_support = new System.Windows.Forms.GroupBox(); + this.label3 = new System.Windows.Forms.Label(); + this.btn_create_support_package = new System.Windows.Forms.Button(); this.gb_general.SuspendLayout(); this.gb_hotkeys.SuspendLayout(); this.gb_upgrades.SuspendLayout(); + this.gb_support.SuspendLayout(); this.SuspendLayout(); // // btn_back @@ -63,7 +67,7 @@ namespace DisplayMagician.UIForms this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_back.ForeColor = System.Drawing.Color.White; - this.btn_back.Location = new System.Drawing.Point(1034, 434); + this.btn_back.Location = new System.Drawing.Point(1034, 517); this.btn_back.Name = "btn_back"; this.btn_back.Size = new System.Drawing.Size(75, 23); this.btn_back.TabIndex = 9; @@ -324,12 +328,53 @@ namespace DisplayMagician.UIForms this.cb_upgrade_prerelease.Text = "Upgrade DisplayMagician to latest beta versions when available"; this.cb_upgrade_prerelease.UseVisualStyleBackColor = true; // + // gb_support + // + this.gb_support.Controls.Add(this.btn_create_support_package); + this.gb_support.Controls.Add(this.label3); + this.gb_support.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.gb_support.ForeColor = System.Drawing.Color.White; + this.gb_support.Location = new System.Drawing.Point(27, 442); + this.gb_support.Name = "gb_support"; + this.gb_support.Size = new System.Drawing.Size(525, 98); + this.gb_support.TabIndex = 16; + this.gb_support.TabStop = false; + this.gb_support.Text = "Support Settings"; + // + // label3 + // + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(105, 57); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(334, 32); + this.label3.TabIndex = 15; + this.label3.Text = "Use this button to save a support package to your computer. You can then upload t" + + "his file to GitHub when you have a problem"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // btn_create_support_package + // + this.btn_create_support_package.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.btn_create_support_package.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; + this.btn_create_support_package.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; + this.btn_create_support_package.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_create_support_package.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_create_support_package.ForeColor = System.Drawing.Color.White; + this.btn_create_support_package.Location = new System.Drawing.Point(169, 21); + this.btn_create_support_package.Name = "btn_create_support_package"; + this.btn_create_support_package.Size = new System.Drawing.Size(183, 33); + this.btn_create_support_package.TabIndex = 48; + this.btn_create_support_package.Text = "Create a Support Package"; + this.btn_create_support_package.UseVisualStyleBackColor = true; + this.btn_create_support_package.Click += new System.EventHandler(this.btn_create_support_package_Click); + // // SettingsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; - this.ClientSize = new System.Drawing.Size(1142, 481); + this.ClientSize = new System.Drawing.Size(1142, 564); + this.Controls.Add(this.gb_support); this.Controls.Add(this.gb_upgrades); this.Controls.Add(this.gb_hotkeys); this.Controls.Add(this.gb_general); @@ -351,6 +396,7 @@ namespace DisplayMagician.UIForms this.gb_hotkeys.PerformLayout(); this.gb_upgrades.ResumeLayout(false); this.gb_upgrades.PerformLayout(); + this.gb_support.ResumeLayout(false); this.ResumeLayout(false); } @@ -377,5 +423,8 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.GroupBox gb_upgrades; private System.Windows.Forms.Label label2; private System.Windows.Forms.CheckBox cb_upgrade_prerelease; + private System.Windows.Forms.GroupBox gb_support; + private System.Windows.Forms.Button btn_create_support_package; + private System.Windows.Forms.Label label3; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index 2fab405..93ebad9 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -3,6 +3,8 @@ using NHotkey; using NHotkey.WindowsForms; using System; using System.Collections.Generic; +using System.IO; +using System.IO.Compression; using System.Linq; using System.Windows.Forms; using WK.Libraries.BootMeUpNS; @@ -471,5 +473,44 @@ namespace DisplayMagician.UIForms } } + private void btn_create_support_package_Click(object sender, EventArgs e) + { + string zipFilePath = ""; + using (var archiveStream = new FileStream(zipFilePath, FileMode.Create)) + { + using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create, true)) + { + // Get the list of files to zip + List listOfFiles = new List { + // Add the DisplayMagician.log file + Path.Combine(Program.AppLogPath,"DisplayMagician.log"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppProfilePath,"DisplayProfile_2.1.json"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppShortcutPath,"Shortcuts_2.0.json"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppDataPath,"Settings_2.0.json") + }; + + foreach (string filename in listOfFiles) + { + var zipArchiveEntry = archive.CreateEntry(filename, CompressionLevel.Fastest); + + using (Stream zipStream = zipArchiveEntry.Open()) + { + using (StreamWriter writer = new StreamWriter(zipStream)) + { + writer.WriteLine(filename); + } + } + + } + } + + zip + } + + return archiveFile; + } } } diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index 907e641..d3c6e52 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -128,7 +128,7 @@ 2.1.0 - 4.7.11 + 4.7.12 From 6d256358460519e0be2545861c2f5d18cf9bf7d4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 26 Oct 2021 20:56:28 +1300 Subject: [PATCH 047/112] Added ability to generate Support ZIP from settings screen --- DisplayMagician/DisplayMagician.csproj | 1 + DisplayMagician/Program.cs | 3 + DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/SettingsForm.Designer.cs | 26 ++--- DisplayMagician/UIForms/SettingsForm.cs | 106 +++++++++++++----- 5 files changed, 97 insertions(+), 43 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index f5138c7..5e78170 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -84,6 +84,7 @@ + diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index ad57fae..e8fb419 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -103,6 +103,7 @@ namespace DisplayMagician { // Load the program settings AppProgramSettings = ProgramSettings.LoadSettings(); + // Rules for mapping loggers to targets /*NLog.LogLevel logLevel = null; @@ -132,6 +133,8 @@ namespace DisplayMagician { // While there are a large number of big changes taking place with DisplayMagician, this will minimise // the backwards and forwards it takes to get the right level of log information for me to troubleshoot. NLog.LogLevel logLevel = NLog.LogLevel.Trace; + AppProgramSettings.LogLevel = "Trace"; + // Create the log file target var logfile = new NLog.Targets.FileTarget("logfile") diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 3488c8c..017f85e 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.18")] -[assembly: AssemblyFileVersion("2.1.0.18")] +[assembly: AssemblyVersion("2.1.0.26")] +[assembly: AssemblyFileVersion("2.1.0.26")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/SettingsForm.Designer.cs b/DisplayMagician/UIForms/SettingsForm.Designer.cs index 0564dcd..710ac07 100644 --- a/DisplayMagician/UIForms/SettingsForm.Designer.cs +++ b/DisplayMagician/UIForms/SettingsForm.Designer.cs @@ -51,8 +51,8 @@ namespace DisplayMagician.UIForms this.label2 = new System.Windows.Forms.Label(); this.cb_upgrade_prerelease = new System.Windows.Forms.CheckBox(); this.gb_support = new System.Windows.Forms.GroupBox(); - this.label3 = new System.Windows.Forms.Label(); this.btn_create_support_package = new System.Windows.Forms.Button(); + this.label3 = new System.Windows.Forms.Label(); this.gb_general.SuspendLayout(); this.gb_hotkeys.SuspendLayout(); this.gb_upgrades.SuspendLayout(); @@ -341,17 +341,6 @@ namespace DisplayMagician.UIForms this.gb_support.TabStop = false; this.gb_support.Text = "Support Settings"; // - // label3 - // - this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label3.Location = new System.Drawing.Point(105, 57); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(334, 32); - this.label3.TabIndex = 15; - this.label3.Text = "Use this button to save a support package to your computer. You can then upload t" + - "his file to GitHub when you have a problem"; - this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // // btn_create_support_package // this.btn_create_support_package.Anchor = System.Windows.Forms.AnchorStyles.Bottom; @@ -364,10 +353,21 @@ namespace DisplayMagician.UIForms this.btn_create_support_package.Name = "btn_create_support_package"; this.btn_create_support_package.Size = new System.Drawing.Size(183, 33); this.btn_create_support_package.TabIndex = 48; - this.btn_create_support_package.Text = "Create a Support Package"; + this.btn_create_support_package.Text = "Create a Support Zip File"; this.btn_create_support_package.UseVisualStyleBackColor = true; this.btn_create_support_package.Click += new System.EventHandler(this.btn_create_support_package_Click); // + // label3 + // + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(74, 57); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(378, 32); + this.label3.TabIndex = 15; + this.label3.Text = "Use this button to save a support zip file to your computer. You can then upload " + + "this file to GitHub when you have a problem you need me to fix"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // SettingsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index 93ebad9..ccb5893 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -104,8 +104,8 @@ namespace DisplayMagician.UIForms logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings LogLevel set to Fatal"); break; default: - cmb_loglevel.SelectedIndex = cmb_loglevel.FindStringExact(logLevelText["Info"]); - logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings LogLevel set to Info"); + cmb_loglevel.SelectedIndex = cmb_loglevel.FindStringExact(logLevelText["Trace"]); + logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings LogLevel set to Trace"); break; } @@ -475,42 +475,92 @@ namespace DisplayMagician.UIForms private void btn_create_support_package_Click(object sender, EventArgs e) { - string zipFilePath = ""; - using (var archiveStream = new FileStream(zipFilePath, FileMode.Create)) + try { - using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create, true)) + using (SaveFileDialog saveFileDialog = new SaveFileDialog()) { - // Get the list of files to zip - List listOfFiles = new List { - // Add the DisplayMagician.log file - Path.Combine(Program.AppLogPath,"DisplayMagician.log"), - // Add the DisplayMagician.log file - Path.Combine(Program.AppProfilePath,"DisplayProfile_2.1.json"), - // Add the DisplayMagician.log file - Path.Combine(Program.AppShortcutPath,"Shortcuts_2.0.json"), - // Add the DisplayMagician.log file - Path.Combine(Program.AppDataPath,"Settings_2.0.json") - }; + DateTime now = DateTime.Now; + saveFileDialog.InitialDirectory = Environment.SpecialFolder.MyDocuments.ToString(); + saveFileDialog.Filter = "Zip Files(*.zip)| *.zip | All files(*.*) | *.*"; + saveFileDialog.FilterIndex = 2; + saveFileDialog.RestoreDirectory = true; + saveFileDialog.FileName = $"DisplayMagician-Support-{now.ToString("yyyyMMdd-HHmm")}.zip"; + saveFileDialog.Title = "Save a DisplayMagician Support ZIP file"; - foreach (string filename in listOfFiles) + if (saveFileDialog.ShowDialog() == DialogResult.OK) { - var zipArchiveEntry = archive.CreateEntry(filename, CompressionLevel.Fastest); - - using (Stream zipStream = zipArchiveEntry.Open()) + //Get the path of specified file + string zipFilePath = saveFileDialog.FileName; + SharedLogger.logger.Trace($"SettingsForm/btn_create_support_package_Click: Creating support zip file at {zipFilePath}."); + + if (File.Exists(zipFilePath)) { - using (StreamWriter writer = new StreamWriter(zipStream)) - { - writer.WriteLine(filename); - } + File.Delete(zipFilePath); } - + + ZipArchive archive = ZipFile.Open(zipFilePath, ZipArchiveMode.Create); + + // Get the list of files to zip + List listOfFiles = new List { + // Add the DisplayMagician.log file + Path.Combine(Program.AppLogPath,"DisplayMagician.log"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppProfilePath,"DisplayProfiles_2.1.json"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppShortcutPath,"Shortcuts_2.0.json"), + // Add the DisplayMagician.log file + Path.Combine(Program.AppDataPath,"Settings_2.0.json") + }; + foreach (string filename in listOfFiles) + { + try + { + if (File.Exists(filename)) + { + archive.CreateEntryFromFile(filename, Path.GetFileName(filename), CompressionLevel.Optimal); + } + else + { + SharedLogger.logger.Warn($"SettingsForm/btn_create_support_package_Click: Couldn't add {filename} to the support ZIP file {zipFilePath} as it doesn't exist."); + } + + } + catch (ArgumentNullException ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: Argument Null Exception while adding files to the support zip file."); + } + catch (System.Runtime.InteropServices.ExternalException ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: External InteropServices Exception while adding files to the support zip file."); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: Exception while while adding files to the support zip file."); + } + + + } + + archive.Dispose(); + SharedLogger.logger.Trace($"SettingsForm/btn_create_support_package_Click: Finished creating support zip file at {zipFilePath}."); + MessageBox.Show($"Created DisplayMagician Support ZIP file {zipFilePath}. You can now attach this file to your GitHub issue."); } } - - zip + } + catch (ArgumentNullException ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: Argument Null Exception while creating support zip file."); + } + catch (System.Runtime.InteropServices.ExternalException ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: External InteropServices Exception while creating support zip file."); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"SettingsForm/btn_create_support_package_Click: Exception while while creating support zip file."); } - return archiveFile; + } } } From 5743cd377bc1494f32cdfe0ff7362c5b7baf0352 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 26 Oct 2021 21:19:48 +1300 Subject: [PATCH 048/112] Fixed bug in ApplyingProfile caused by new profile buffering As I'd changed the profile config to buffer it within the libraries themselves, ApplyProfile wasn't telling the libraries to update their config. Therefore they thought they were still on the original display config, and that meant that ApplyProfile didn't revert the profile after the application had closed. This is now fixed. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/ShortcutRepository.cs | 13 ++++++++----- DisplayMagicianShared/ProfileRepository.cs | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 017f85e..b72e836 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.26")] -[assembly: AssemblyFileVersion("2.1.0.26")] +[assembly: AssemblyVersion("2.1.0.29")] +[assembly: AssemblyFileVersion("2.1.0.29")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index ee64758..baf7e3d 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -656,17 +656,18 @@ namespace DisplayMagician ApplyProfileResult result = ProfileRepository.ApplyProfile(shortcutToUse.ProfileToUse); if (result == ApplyProfileResult.Error) { - Console.WriteLine($"ERROR - Cannot apply '{shortcutToUse.ProfileToUse.Name}' Display Profile"); logger.Error($"ShortcutRepository/RunShortcut: Cannot apply '{shortcutToUse.ProfileToUse.Name}' Display Profile"); return; } else if (result == ApplyProfileResult.Cancelled) { - Console.WriteLine($"ERROR - User cancelled applying '{shortcutToUse.ProfileToUse.Name}' Display Profile"); logger.Error($"ShortcutRepository/RunShortcut: User cancelled applying '{shortcutToUse.ProfileToUse.Name}' Display Profile"); return; } - + else if (result == ApplyProfileResult.Successful) + { + logger.Trace($"ShortcutRepository/RunShortcut: Applied '{shortcutToUse.ProfileToUse.Name}' Display Profile successfully!"); + } } // Get the list of Audio Devices currently connected or unplugged (they can be plugged back in) @@ -1957,16 +1958,18 @@ namespace DisplayMagician if (result == ApplyProfileResult.Error) { - Console.WriteLine($"ERROR - Cannot revert back to '{rollbackProfile.Name}' Display Profile"); logger.Error($"ShortcutRepository/RunShortcut: Error rolling back display profile to {rollbackProfile.Name}"); return; } else if (result == ApplyProfileResult.Cancelled) { - Console.WriteLine($"ERROR - User cancelled revert back to '{rollbackProfile.Name}' Display Profile"); logger.Error($"ShortcutRepository/RunShortcut: User cancelled rolling back display profile to {rollbackProfile.Name}"); return; } + else if (result == ApplyProfileResult.Successful) + { + logger.Trace($"ShortcutRepository/RunShortcut: Successfully rolled back display profile to {rollbackProfile.Name}"); + } } else diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index b29f84b..7305c97 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -1098,6 +1098,8 @@ namespace DisplayMagicianShared else { SharedLogger.logger.Trace($"ProfileRepository/ApplyProfile: Successfully applied the {profile.VideoMode.ToString("G")} Profile!"); + // We also need to update the ActiveProfile so that DisplayMagician knows things have changed + ProfileRepository.UpdateActiveProfile(); return ApplyProfileResult.Successful; } From 643daeae49e916a7a4d1e0321f4c0b2422b4b8ff Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 26 Oct 2021 21:26:23 +1300 Subject: [PATCH 049/112] Loosened GDI matching a bit more --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/Windows/GDI.cs | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b72e836..4740942 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.29")] -[assembly: AssemblyFileVersion("2.1.0.29")] +[assembly: AssemblyVersion("2.1.0.30")] +[assembly: AssemblyFileVersion("2.1.0.30")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs index e1483ee..95d0057 100644 --- a/DisplayMagicianShared/Windows/GDI.cs +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -364,14 +364,14 @@ namespace DisplayMagicianShared.Windows public bool Equals(DEVICE_MODE other) => //DeviceName.Equals(other.DeviceName) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - SpecificationVersion == other.SpecificationVersion && + //SpecificationVersion == other.SpecificationVersion && //DriverVersion.Equals(other.DriverVersion) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //Size.Equals(other.Size) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //DriverExtra.Equals(other.DriverExtra) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //Fields.Equals(other.Fields) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //Position.Equals(other.Position) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching DisplayOrientation.Equals(other.DisplayOrientation) && - DisplayFixedOutput.Equals(other.DisplayFixedOutput) && + //DisplayFixedOutput.Equals(other.DisplayFixedOutput) && //Color.Equals(other.Color) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //Duplex.Equals(other.Duplex) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //YResolution.Equals(other.YResolution) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching @@ -380,8 +380,8 @@ namespace DisplayMagicianShared.Windows //FormName.Equals(other.FormName) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //LogicalInchPixels.Equals(other.LogicalInchPixels) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching BitsPerPixel.Equals(other.BitsPerPixel) && - PixelsWidth.Equals(other.PixelsWidth) && - PixelsHeight.Equals(other.PixelsHeight) && + //PixelsWidth.Equals(other.PixelsWidth) && + //PixelsHeight.Equals(other.PixelsHeight) && DisplayFlags.Equals(other.DisplayFlags) && DisplayFrequency == other.DisplayFrequency; @@ -390,7 +390,7 @@ namespace DisplayMagicianShared.Windows // Removed specifically for DisplayMagician matching. Remove if you need true equality matching //return (DeviceName, SpecificationVersion, DriverVersion, Size, DriverExtra, Fields, Position, DisplayOrientation, DisplayFixedOutput, Color, Duplex, // YResolution, TrueTypeOption, Collate, FormName, LogicalInchPixels, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); - return (SpecificationVersion, DisplayOrientation, DisplayFixedOutput, BitsPerPixel, PixelsWidth, PixelsHeight, DisplayFlags, DisplayFrequency).GetHashCode(); + return (DisplayOrientation, BitsPerPixel, DisplayFlags, DisplayFrequency).GetHashCode(); } public static bool operator ==(DEVICE_MODE lhs, DEVICE_MODE rhs) => lhs.Equals(rhs); From 0b759ce3781f9758669ff11475937ed65fb567c3 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 28 Oct 2021 09:26:44 +1300 Subject: [PATCH 050/112] Updated WinLibrary to latest version --- DisplayMagicianShared/Windows/CCD.cs | 13 +++++++--- DisplayMagicianShared/Windows/GDI.cs | 26 +++++++++++--------- DisplayMagicianShared/Windows/WinLibrary.cs | 27 +++++++++++++++++++-- 3 files changed, 48 insertions(+), 18 deletions(-) diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 47a5a13..6ad13b8 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -639,7 +639,7 @@ namespace DisplayMagicianShared.Windows // This happens when it is a target mode info block if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET && - Id == other.Id && + Id == other.Id && // Disabling this check as as the Display ID it maps to will change after a switch from clone to non-clone profile, ruining the equality match TargetMode.Equals(other.TargetMode)) return true; @@ -652,13 +652,13 @@ namespace DisplayMagicianShared.Windows // This happens when it is a desktop image mode info block if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE && - Id == other.Id && + Id == other.Id && // Disabling this check as as the Display ID it maps to will change after a switch from clone to non-clone profile, ruining the equality match DesktopImageInfo.Equals(other.DesktopImageInfo)) return true; // This happens when it is a clone - there is an extra entry with all zeros in it! if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.Zero && - Id == other.Id && + //Id == other.Id && // Disabling this check as as the Display ID it maps to will change after a switch from clone to non-clone profile, ruining the equality match DesktopImageInfo.Equals(other.DesktopImageInfo) && TargetMode.Equals(other.TargetMode) && SourceMode.Equals(other.SourceMode)) @@ -672,15 +672,20 @@ namespace DisplayMagicianShared.Windows { if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET) return (InfoType, Id, TargetMode).GetHashCode(); + //return (InfoType, TargetMode).GetHashCode(); if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE) - return (InfoType, Id, SourceMode).GetHashCode(); + //return (InfoType, Id, SourceMode).GetHashCode(); + return (InfoType, SourceMode).GetHashCode(); + if (InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE) return (InfoType, Id, DesktopImageInfo).GetHashCode(); + //return (InfoType, DesktopImageInfo).GetHashCode(); // otherwise we return everything return (InfoType, Id, TargetMode, SourceMode, DesktopImageInfo).GetHashCode(); + //return (InfoType, TargetMode, SourceMode, DesktopImageInfo).GetHashCode(); } public static bool operator ==(DISPLAYCONFIG_MODE_INFO lhs, DISPLAYCONFIG_MODE_INFO rhs) => lhs.Equals(rhs); diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs index 95d0057..2c51295 100644 --- a/DisplayMagicianShared/Windows/GDI.cs +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -364,12 +364,12 @@ namespace DisplayMagicianShared.Windows public bool Equals(DEVICE_MODE other) => //DeviceName.Equals(other.DeviceName) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - //SpecificationVersion == other.SpecificationVersion && - //DriverVersion.Equals(other.DriverVersion) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - //Size.Equals(other.Size) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - //DriverExtra.Equals(other.DriverExtra) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - //Fields.Equals(other.Fields) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching - //Position.Equals(other.Position) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //SpecificationVersion == other.SpecificationVersion && + //DriverVersion.Equals(other.DriverVersion) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Size.Equals(other.Size) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //DriverExtra.Equals(other.DriverExtra) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Fields.Equals(other.Fields) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching + //Position.Equals(other.Position) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching DisplayOrientation.Equals(other.DisplayOrientation) && //DisplayFixedOutput.Equals(other.DisplayFixedOutput) && //Color.Equals(other.Color) && // Removed specifically for DisplayMagician matching. Remove if you need true equality matching @@ -425,13 +425,14 @@ namespace DisplayMagicianShared.Windows => Size == other.Size && // DeviceName == other.DeviceName && // Had to remove this as the device name often changes after a reboot! DeviceString == other.DeviceString && - StateFlags == other.StateFlags && - DeviceId == other.DeviceId && - DeviceKey == other.DeviceKey; + //StateFlags == other.StateFlags && + DeviceId == other.DeviceId; + //DeviceKey == other.DeviceKey; public override int GetHashCode() { - return (Size, DeviceName, DeviceString, StateFlags, DeviceId, DeviceKey).GetHashCode(); + //return (Size, DeviceName, DeviceString, StateFlags, DeviceId, DeviceKey).GetHashCode(); + return (Size, DeviceString, DeviceId).GetHashCode(); } public static bool operator ==(DISPLAY_DEVICE lhs, DISPLAY_DEVICE rhs) => lhs.Equals(rhs); @@ -511,13 +512,14 @@ namespace DisplayMagicianShared.Windows public bool Equals(GDI_DISPLAY_SETTING other) => IsEnabled == other.IsEnabled && - IsPrimary == other.IsPrimary && + //IsPrimary == other.IsPrimary && Device.Equals(other.Device) && DeviceMode.Equals(other.DeviceMode); public override int GetHashCode() { - return (IsEnabled, IsPrimary, Device, DeviceMode).GetHashCode(); + //return (IsEnabled, IsPrimary, Device, DeviceMode).GetHashCode(); + return (IsEnabled, Device, DeviceMode).GetHashCode(); } public static bool operator ==(GDI_DISPLAY_SETTING lhs, GDI_DISPLAY_SETTING rhs) => lhs.Equals(rhs); diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 74548db..e75e794 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -56,12 +56,16 @@ namespace DisplayMagicianShared.Windows DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && - GdiDisplaySettings.SequenceEqual(other.GdiDisplaySettings) && + // The dictionary keys sometimes change after returning from NVIDIA Surround, so we need to only focus on comparing the values of the GDISettings. + // Additionally, we had to disable the DEviceKey from the equality testing within the GDI library itself as that waould also change after changing back from NVIDIA surround + // This still allows us to detect when refresh rates change, which will allow DisplayMagician to detect profile differences. + GdiDisplaySettings.Values.SequenceEqual(other.GdiDisplaySettings.Values) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() { - return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings, IsCloned, DisplayIdentifiers).GetHashCode(); + //return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings.Values, IsCloned, DisplayIdentifiers).GetHashCode(); + return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers).GetHashCode(); } public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -1566,6 +1570,25 @@ namespace DisplayMagicianShared.Windows } + public static bool GDISettingsEqual(Dictionary gdi1, Dictionary gdi2) + { + if (gdi1.Count == gdi2.Count) + { + for (int i = 0; i < gdi1.Count; i++) + { + if (gdi1.Values.ToList()[i] != gdi2.Values.ToList()[i]) + { + return false; + } + } + return true; + } + else + { + return false; + } + } + } [global::System.Serializable] From 3ea0ff479ba6ca3cb7446653ece52b568448f30a Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 28 Oct 2021 20:57:16 +1300 Subject: [PATCH 051/112] Updated screen drawing so surround displays work with additional screens The display logic now works when both NVIDIA surround and normal windows are both being used at the same time. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagicianShared/ProfileItem.cs | 57 ++++++++++++++++++---- 2 files changed, 50 insertions(+), 11 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 4740942..a29ef8b 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.30")] -[assembly: AssemblyFileVersion("2.1.0.30")] +[assembly: AssemblyVersion("2.1.0.33")] +[assembly: AssemblyFileVersion("2.1.0.33")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 884e075..b3e9d10 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -822,9 +822,6 @@ namespace DisplayMagicianShared // Now we need to check for Spanned screens if (_nvidiaDisplayConfig.MosaicConfig.IsMosaicEnabled) { - // TODO: Make the NVIDIA displays show the individual screens and overlap! - - // Create a dictionary of all the screen sizes we want //Dictionary MosaicScreens = new Dictionary(); @@ -904,12 +901,54 @@ namespace DisplayMagicianShared screen.SpannedScreens.Add(spannedScreen); } - //screen.Name = targetId.ToString(); - //screen.DisplayConnector = displayMode.DisplayConnector; - screen.ScreenX = (int)overallX; - screen.ScreenY = (int)overallY; - screen.ScreenWidth = (int)overallWidth; - screen.ScreenHeight = (int)overallHeight; + // Need to look for the Windows layout details now we know the size of this display + // Set some basics about the screen + try + { + uint displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId; + string windowsDisplayName = _nvidiaDisplayConfig.DisplayNames[displayId]; + List sourceIndexes = _windowsDisplayConfig.DisplaySources[windowsDisplayName]; + for (int x = 0; x < _windowsDisplayConfig.DisplayConfigModes.Length; x++) + { + // Skip this if its not a source info config type + if (_windowsDisplayConfig.DisplayConfigModes[x].InfoType != DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE) + { + continue; + } + + // If the source index matches the index of the source info object we're looking at, then process it! + if (sourceIndexes.Contains(_windowsDisplayConfig.DisplayConfigModes[x].Id)) + { + screen.Name = displayId.ToString(); + + screen.ScreenX = (int)_windowsDisplayConfig.DisplayConfigModes[x].SourceMode.Position.X; + screen.ScreenY = (int)_windowsDisplayConfig.DisplayConfigModes[x].SourceMode.Position.Y; + screen.ScreenWidth = (int)_windowsDisplayConfig.DisplayConfigModes[x].SourceMode.Width; + screen.ScreenHeight = (int)_windowsDisplayConfig.DisplayConfigModes[x].SourceMode.Height; + break; + } + } + } + catch (KeyNotFoundException ex) + { + // Thrown if the Windows display doesn't match the NVIDIA display. + // Typically happens during configuration of a new Mosaic mode. + // If we hit this issue, then we just want to skip over it, as we can update it later when the user pushes the button. + // This only happens due to the auto detection stuff functionality we have built in to try and update as quickly as we can. + // So its something that we can safely ignore if we hit this exception as it is part of the expect behaviour + continue; + } + catch (Exception ex) + { + // Some other exception has occurred and we need to report it. + //screen.Name = targetId.ToString(); + //screen.DisplayConnector = displayMode.DisplayConnector; + screen.ScreenX = (int)overallX; + screen.ScreenY = (int)overallY; + screen.ScreenWidth = (int)overallWidth; + screen.ScreenHeight = (int)overallHeight; + } + // If we're at the 0,0 coordinate then we're the primary monitor if (screen.ScreenX == 0 && screen.ScreenY == 0) From 9c2c8bd25721681daede73b3ebd24da505b95eec Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 28 Oct 2021 21:15:06 +1300 Subject: [PATCH 052/112] Changing spacing --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/UserControls/DisplayView.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a29ef8b..e89802b 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.33")] -[assembly: AssemblyFileVersion("2.1.0.33")] +[assembly: AssemblyVersion("2.1.0.35")] +[assembly: AssemblyFileVersion("2.1.0.35")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/UserControls/DisplayView.cs b/DisplayMagicianShared/UserControls/DisplayView.cs index a2bc142..67e423f 100644 --- a/DisplayMagicianShared/UserControls/DisplayView.cs +++ b/DisplayMagicianShared/UserControls/DisplayView.cs @@ -123,6 +123,7 @@ namespace DisplayMagicianShared.UserControls private void DrawView(Graphics g) { + var viewSize = ProfileIcon.CalculateViewSize(_profile.Screens, PaddingX, PaddingY); var factor = Math.Min(Width / viewSize.Width, Height / viewSize.Height); g.ScaleTransform(factor, factor); From 42760c82c3682e7e4ca8942662b960b8ee8f2769 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 29 Oct 2021 08:58:50 +1300 Subject: [PATCH 053/112] Updated Readme to reflect DP/HDMI requirement DisplayMagician at the moment requires DispalayPort or HDMI connectivity to enable it's full functionality. This is due to the EDID DisplayMagician uses as part of display identifiers as well as --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 753ed2a..029debf 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,15 @@ The latest version of this application is available for download via the [releas

+** IMPORTANT! ** - If you tried DisplayMagician in the past and it didn't work for you, please try it again. THere has been a complete rewrite of the NVIDIA, AMD and Windows video manipulation libraries, and it is able to track and manipulate nearly all display configuration changes! + ## What it does Different games require your displays configured in different ways. If you're a simracer like me, you also require a lot of additional 'helper' applications the give you the additional functionality to game the way you want. Making all those changes each time I wanted to play each game REALLY started annoying me, and I thought there must be a better way. There is now. DisplayMagician allows you to configure multiple different display profiles, and then use those different display profiles to create Game Shortcuts. These Game Shortcuts allow you to have your game or application start exactly the way you like it. -Do you like running Dirt Rally 2.0 on a single NVidia Surround window across triple screens, and yet you like to run Assetto Corsa across four individual screens (a triple and one above)? Do you like running SimHub when you play iRacing, yet you want to start Twitch when you play Call of Duty? Well with DisplayMagician you can do all that with a single Desktop Shortcut (you can even start games with a Hotkey)! +Do you like running Dirt Rally 2.0 on a single NVIDIA Surround window across triple screens, and yet you like to run Assetto Corsa across four individual screens (a triple and one above)? Do you like running SimHub when you play iRacing, yet you want to start Twitch when you play Call of Duty? Well with DisplayMagician you can do all that with a single Desktop Shortcut (you can even start games with a Hotkey)! DisplayMagician also allows you to automatically change to a different audio device just for one game, and will revert that change when you close the game. Great if you have some special audio devices you use only for certain games. No more fiddling with audio settings - just play the game! @@ -48,16 +50,18 @@ DisplayMagician lets you set up the following information for each game or appli * Or maybe just create a Shortcut that permanently changes to a different Display Profile! The options are endless. * Also comes with a Shell Extension that allows you to change to a different Display Profile by right-clicking on the desktop background! * Supports NVIDIA Surround setups, AMD Eyefinity setups and standard Windows multi-desktop views. +* Supports cloned displays, extended displays, NVIDIA Surround with additional displays, and nearly anything else you can throw at it! ## Planned features * Change UI from Winforms to .NET6 and MAUI * Add Unit Tests! -* Maybe add Intel Alchemist GPU spanned screen support when they are eventually released. +* Maybe add Intel Alchemist GPU spanned screen support when those cards are eventually released. ## Requirements -* DisplayMagician only support 64-bit Windows 10/11 +* DisplayMagician only supports 64-bit Windows 10/11 +* Your displays must use HDMI or DisplayPort connections and support EDID * NVIDIA Surround support requires NVIDIA Game Ready driver to be installed * AMD Eyefinity support requires AMD Radeon™ Software Adrenalin 2020 Edition 21.2.1 or later to be installed From cc125b6601e5d19f28d97dbf823a58970ab253c4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 29 Oct 2021 22:10:29 +1300 Subject: [PATCH 054/112] Add an extra layer of library protection Stopping unneeded AMD calls in NVIDIA mode, and NVIDIA calls in AMD mode. --- DisplayMagicianShared/ProfileItem.cs | 17 ++++++++++++++--- DisplayMagicianShared/Windows/WinLibrary.cs | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index b3e9d10..5d691f6 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -477,9 +477,20 @@ namespace DisplayMagicianShared WinLibrary winLibrary = WinLibrary.GetLibrary(); // For a library update to the latest version so that we pick up any new changes since the last update - nvidiaLibrary.UpdateActiveConfig(); - amdLibrary.UpdateActiveConfig(); - winLibrary.UpdateActiveConfig(); + if (VideoMode == VIDEO_MODE.NVIDIA && nvidiaLibrary.IsInstalled) + { + nvidiaLibrary.UpdateActiveConfig(); + winLibrary.UpdateActiveConfig(); + } + else if (VideoMode == VIDEO_MODE.AMD && amdLibrary.IsInstalled) + { + amdLibrary.UpdateActiveConfig(); + winLibrary.UpdateActiveConfig(); + } + else + { + winLibrary.UpdateActiveConfig(); + } // Grab the profile data from the current stored config (that we just updated) _nvidiaDisplayConfig = nvidiaLibrary.ActiveDisplayConfig; diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index e75e794..8b65ffa 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -1445,7 +1445,7 @@ namespace DisplayMagicianShared.Windows if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"WinLibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } From b44bc3f26918b4d1192f7747557c40f9a5cc7de0 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 29 Oct 2021 22:36:12 +1300 Subject: [PATCH 055/112] Updated incorrect error message --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/AMD/AMDLibrary.cs | 2 +- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e89802b..e51c555 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.35")] -[assembly: AssemblyFileVersion("2.1.0.35")] +[assembly: AssemblyVersion("2.1.0.36")] +[assembly: AssemblyFileVersion("2.1.0.36")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index fdfcdc2..aa563dd 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -1901,7 +1901,7 @@ namespace DisplayMagicianShared.AMD if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"AMDLibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } } diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 4467a4d..b294655 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -2165,7 +2165,7 @@ namespace DisplayMagicianShared.NVIDIA if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"NVIDIALibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } } From a8a27bddde55c967b814aa54eca822b2f78e0e0d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 17:11:24 +1300 Subject: [PATCH 056/112] Found CTD error with long game library names Incorrect logic when checking long file names which restuled in text loneer than the 64 character limit for the notification icon. Partially fixes #49 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/ShortcutRepository.cs | 28 ++++++++++------------ 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e51c555..7bdb162 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.36")] -[assembly: AssemblyFileVersion("2.1.0.36")] +[assembly: AssemblyVersion("2.1.0.37")] +[assembly: AssemblyFileVersion("2.1.0.37")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index baf7e3d..0c18f3c 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -1119,7 +1119,7 @@ namespace DisplayMagician string notificationText = $"DisplayMagician: Running {shortcutToUse.ExecutableNameAndPath}..."; if (notificationText.Length >= 64) { - string thingToRun = shortcutToUse.ExecutableNameAndPath.Substring(0, 35); + string thingToRun = shortcutToUse.ExecutableNameAndPath.Substring(0, 34); notifyIcon.Text = $"DisplayMagician: Running {thingToRun}..."; } Application.DoEvents(); @@ -1372,6 +1372,14 @@ namespace DisplayMagician } + string notificationText = $"DisplayMagician: Running {gameToRun.Name}..."; + if (notificationText.Length >= 64) + { + string thingToRun = gameToRun.Name.Substring(0, 34); + notifyIcon.Text = $"DisplayMagician: Running {thingToRun}..."; + } + Application.DoEvents(); + // At this point, if the user wants to actually monitor a different process, // then we actually need to monitor that instead if (shortcutToUse.MonitorDifferentGameExe) @@ -1379,13 +1387,6 @@ namespace DisplayMagician // If we are monitoring a different executable rather than the game itself, then lets get that name ready instead string altGameProcessToMonitor = System.IO.Path.GetFileNameWithoutExtension(shortcutToUse.DifferentGameExeToMonitor); - // Add a status notification icon in the status area - if (gameToRun.Name.Length <= 41) - notifyIcon.Text = $"DisplayMagician: Running {gameToRun.Name}..."; - else - notifyIcon.Text = $"DisplayMagician: Running {gameToRun.Name.Substring(0, 41)}..."; - Application.DoEvents(); - // Now look for the thing we're supposed to monitor // and wait until it starts up List processesToMonitor = new List(); @@ -1621,13 +1622,6 @@ namespace DisplayMagician { // we are monitoring the game thats actually running (the most common scenario) - // Add a status notification icon in the status area - if (gameToRun.Name.Length <= 41) - notifyIcon.Text = $"DisplayMagician: Running {gameToRun.Name}..."; - else - notifyIcon.Text = $"DisplayMagician: Running {gameToRun.Name.Substring(0, 41)}..."; - Application.DoEvents(); - // Now we want to tell the user we're running a game! // Construct the Windows toast content tcBuilder = new ToastContentBuilder() @@ -1977,6 +1971,10 @@ namespace DisplayMagician logger.Debug($"ShortcutRepository/RunShortcut: Shortcut did not require changing Display Profile, so no need to change it back."); } + // Reset the popup over the system tray icon to what's normal for it. + notifyIcon.Text = $"DisplayMagician"; + Application.DoEvents(); + } #endregion From bb524749b5a36eec265b449f3ce3bd89f8aa94b6 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 17:39:17 +1300 Subject: [PATCH 057/112] Update right-click menu as soon as changes made Partially fixes #49 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/DisplayProfileForm.cs | 9 ++++++++- DisplayMagician/UIForms/MainForm.cs | 6 ++++-- DisplayMagician/UIForms/ShortcutLibraryForm.cs | 7 +++++++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 7bdb162..dc9d915 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.37")] -[assembly: AssemblyFileVersion("2.1.0.37")] +[assembly: AssemblyVersion("2.1.0.40")] +[assembly: AssemblyFileVersion("2.1.0.40")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 2bf6413..2d64d8b 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -223,6 +223,13 @@ namespace DisplayMagician.UIForms } + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + + // Restart updating the saved_profiles listview ilv_saved_profiles.ResumeLayout(); } @@ -255,7 +262,7 @@ namespace DisplayMagician.UIForms // Refresh the Profile UI RefreshDisplayProfileUI(); - + } diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 4954490..a0443d5 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -317,7 +317,7 @@ namespace DisplayMagician.UIForms } - private void RefreshNotifyIconMenus() + public void RefreshNotifyIconMenus() { // Clear all the profiles profileToolStripMenuItem.DropDownItems.Clear(); @@ -370,7 +370,9 @@ namespace DisplayMagician.UIForms shortcutToolStripMenuItem.DropDownItems.Add(shortcutMenuItem); } } - + + // Apply it by running the Application.DoEvents(); + Application.DoEvents(); } diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 9a2a9e9..3e3b33e 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -47,6 +47,7 @@ namespace DisplayMagician.UIForms // Refresh the Shortcut Library UI RefreshShortcutLibraryUI(); + RemoveWarningIfShortcuts(); } @@ -101,6 +102,12 @@ namespace DisplayMagician.UIForms // Restart updating the saved_profiles listview ilv_saved_shortcuts.ResumeLayout(); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private ShortcutItem GetShortcutFromName(string shortcutName) From 0d6536e7feb6f6dc1ad663a7848cc02cb33df708 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 19:01:03 +1300 Subject: [PATCH 058/112] Splash screen to inform user when program starting This is designed to inform the user that DisplayMagician is starting. Partially fixes #49. --- DisplayMagician/Program.cs | 20 +++++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/LoadingForm.Designer.cs | 65 ++++++++++--------- DisplayMagician/UIForms/MainForm.cs | 9 ++- displaymagician/uiforms/displayprofileform.cs | 9 ++- 5 files changed, 69 insertions(+), 38 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index e8fb419..0327aef 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -19,6 +19,7 @@ using NLog.Config; using System.Collections.Generic; using AutoUpdaterDotNET; using Newtonsoft.Json; +using System.Threading; namespace DisplayMagician { @@ -40,7 +41,7 @@ namespace DisplayMagician { public static bool WaitingForGameToExit = false; public static ProgramSettings AppProgramSettings; public static MainForm AppMainForm; - + public static LoadingForm AppSplashScreen; private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private static SharedLogger sharedLogger; @@ -593,6 +594,13 @@ namespace DisplayMagician { logger.Debug($"Try to load all the Games in the background to avoid locking the UI"); + //Show Splash Form + AppSplashScreen = new LoadingForm(); + var splashThread = new Thread(new ThreadStart( + () => Application.Run(AppSplashScreen))); + splashThread.SetApartmentState(ApartmentState.STA); + splashThread.Start(); + // Try to load all the games in parallel to this process Task.Run(() => LoadGamesInBackground()); @@ -716,6 +724,7 @@ namespace DisplayMagician { // Run the program with normal startup AppMainForm = new MainForm(); + //AppMainForm.Load += MainForm_LoadCompleted; Application.Run(AppMainForm); } @@ -732,6 +741,14 @@ namespace DisplayMagician { } + private static void MainForm_LoadCompleted(object sender, EventArgs e) + { + if (AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + AppMainForm.TopMost = true; + AppMainForm.Activate(); + AppMainForm.TopMost = false; + } // ReSharper disable once CyclomaticComplexity private static void RunShortcut(string shortcutUUID) @@ -1006,6 +1023,7 @@ namespace DisplayMagician { return true; + } public static string HotkeyToString(Keys hotkey) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index dc9d915..146637e 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.40")] -[assembly: AssemblyFileVersion("2.1.0.40")] +[assembly: AssemblyVersion("2.1.0.54")] +[assembly: AssemblyFileVersion("2.1.0.54")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/LoadingForm.Designer.cs b/DisplayMagician/UIForms/LoadingForm.Designer.cs index 9f4a125..d2a3374 100644 --- a/DisplayMagician/UIForms/LoadingForm.Designer.cs +++ b/DisplayMagician/UIForms/LoadingForm.Designer.cs @@ -30,61 +30,62 @@ namespace DisplayMagician.UIForms private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoadingForm)); - this.lbl_title = new System.Windows.Forms.Label(); - this.lbl_description = new System.Windows.Forms.Label(); + this.lblTitle = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); this.SuspendLayout(); // - // lbl_title + // lblTitle // - this.lbl_title.AutoSize = true; - this.lbl_title.BackColor = System.Drawing.Color.Black; - this.lbl_title.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbl_title.ForeColor = System.Drawing.Color.White; - this.lbl_title.Location = new System.Drawing.Point(71, 35); - this.lbl_title.Name = "lbl_title"; - this.lbl_title.Size = new System.Drawing.Size(346, 29); - this.lbl_title.TabIndex = 0; - this.lbl_title.Text = "DisplayMagician is loading..."; - this.lbl_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lblTitle.BackColor = System.Drawing.Color.Black; + this.lblTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblTitle.ForeColor = System.Drawing.Color.White; + this.lblTitle.Location = new System.Drawing.Point(36, 26); + this.lblTitle.Name = "lblTitle"; + this.lblTitle.Size = new System.Drawing.Size(347, 30); + this.lblTitle.TabIndex = 2; + this.lblTitle.Text = "DisplayMagician is loading..."; + this.lblTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lbl_description + // label1 // - this.lbl_description.BackColor = System.Drawing.Color.IndianRed; - this.lbl_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbl_description.ForeColor = System.Drawing.Color.Black; - this.lbl_description.Location = new System.Drawing.Point(71, 64); - this.lbl_description.Name = "lbl_description"; - this.lbl_description.Size = new System.Drawing.Size(346, 28); - this.lbl_description.TabIndex = 1; - this.lbl_description.Text = "but it\'s taking a while! Please wait."; - this.lbl_description.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.label1.BackColor = System.Drawing.Color.WhiteSmoke; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(36, 56); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(347, 48); + this.label1.TabIndex = 3; + this.label1.Text = "If you have installed a lot of games over time or have a lot of games installed n" + + "ow, this may take a while!"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // LoadingForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); - this.ClientSize = new System.Drawing.Size(495, 129); + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.ClientSize = new System.Drawing.Size(418, 129); this.ControlBox = false; - this.Controls.Add(this.lbl_description); - this.Controls.Add(this.lbl_title); + this.Controls.Add(this.label1); + this.Controls.Add(this.lblTitle); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(511, 168); + this.MaximumSize = new System.Drawing.Size(434, 168); this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(511, 168); + this.MinimumSize = new System.Drawing.Size(434, 168); this.Name = "LoadingForm"; this.ShowIcon = false; this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "DisplayMagician is loading...."; + this.UseWaitCursor = true; this.ResumeLayout(false); - this.PerformLayout(); } #endregion - - private System.Windows.Forms.Label lbl_title; - private System.Windows.Forms.Label lbl_description; + private System.Windows.Forms.Label lblTitle; + private System.Windows.Forms.Label label1; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index a0443d5..932f454 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -140,7 +140,8 @@ namespace DisplayMagician.UIForms ToastContentBuilder tcBuilder = new ToastContentBuilder() .AddToastActivationInfo("notify=minimiseStart&action=open", ToastActivationType.Foreground) .AddText("DisplayMagician is minimised", hintMaxLines: 1) - .AddButton("Open", ToastActivationType.Background, "notify=minimiseStart&action=open"); + .AddButton("Open", ToastActivationType.Background, "notify=minimiseStart&action=open") + .SetToastDuration(ToastDuration.Short); ToastContent toastContent = tcBuilder.Content; // Make sure to use Windows.Data.Xml.Dom var doc = new XmlDocument(); @@ -153,7 +154,7 @@ namespace DisplayMagician.UIForms DesktopNotifications.DesktopNotificationManagerCompat.History.Clear(); // And then show it - DesktopNotifications.DesktopNotificationManagerCompat.CreateToastNotifier().Show(toast); + DesktopNotifications.DesktopNotificationManagerCompat.CreateToastNotifier().Show(toast); } else @@ -173,6 +174,10 @@ namespace DisplayMagician.UIForms cb_minimise_notification_area.Checked = false; } + // Shut down the splash screen + if (Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) + Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); + // If we've been handed a Form of some kind, then open it straight away if (formToOpen is DisplayProfileForm) { diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 2bf6413..2d64d8b 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -223,6 +223,13 @@ namespace DisplayMagician.UIForms } + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + + // Restart updating the saved_profiles listview ilv_saved_profiles.ResumeLayout(); } @@ -255,7 +262,7 @@ namespace DisplayMagician.UIForms // Refresh the Profile UI RefreshDisplayProfileUI(); - + } From 913cf34d72930b2a35ca7e084b988021a2bc4329 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 19:21:25 +1300 Subject: [PATCH 059/112] Made splashscreen settable Partially fixes #49 --- DisplayMagician/Program.cs | 18 ++++++++----- DisplayMagician/ProgramSettings.cs | 18 +++++++++++++ DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagician/UIForms/MainForm.cs | 6 ++--- .../UIForms/SettingsForm.Designer.cs | 27 +++++++++++++++---- DisplayMagician/UIForms/SettingsForm.cs | 23 ++++++++++++++-- 6 files changed, 76 insertions(+), 20 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 0327aef..b198af9 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -594,12 +594,16 @@ namespace DisplayMagician { logger.Debug($"Try to load all the Games in the background to avoid locking the UI"); - //Show Splash Form - AppSplashScreen = new LoadingForm(); - var splashThread = new Thread(new ThreadStart( - () => Application.Run(AppSplashScreen))); - splashThread.SetApartmentState(ApartmentState.STA); - splashThread.Start(); + if (AppProgramSettings.ShowSplashScreen) + { + //Show Splash Form + AppSplashScreen = new LoadingForm(); + var splashThread = new Thread(new ThreadStart( + () => Application.Run(AppSplashScreen))); + splashThread.SetApartmentState(ApartmentState.STA); + splashThread.Start(); + + } // Try to load all the games in parallel to this process Task.Run(() => LoadGamesInBackground()); @@ -743,7 +747,7 @@ namespace DisplayMagician { private static void MainForm_LoadCompleted(object sender, EventArgs e) { - if (AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); AppMainForm.TopMost = true; AppMainForm.Activate(); diff --git a/DisplayMagician/ProgramSettings.cs b/DisplayMagician/ProgramSettings.cs index 7f8adc8..8bd2ced 100644 --- a/DisplayMagician/ProgramSettings.cs +++ b/DisplayMagician/ProgramSettings.cs @@ -22,6 +22,7 @@ namespace DisplayMagician #region Instance Variables private bool _startOnBootUp = false; private bool _minimiseOnStart = false; + private bool _showSplashScreen = true; private bool _upgradeToPrereleases = false; private int _lastMessageIdRead = 0; private List _messagesToMonitor = new List(); @@ -49,6 +50,23 @@ namespace DisplayMagician } } + public bool ShowSplashScreen + { + get + { + return _showSplashScreen; + } + set + { + _showSplashScreen = value; + + // Because a value has changed, we need to save the setting + // to remember it for later. + if (_programSettingsLoaded) + SaveSettings(); + } + } + public bool UpgradeToPreReleases { get diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 146637e..b6e150f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.54")] -[assembly: AssemblyFileVersion("2.1.0.54")] +[assembly: AssemblyVersion("2.1.0.57")] +[assembly: AssemblyFileVersion("2.1.0.57")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 932f454..ea2d80f 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -175,7 +175,7 @@ namespace DisplayMagician.UIForms } // Shut down the splash screen - if (Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) + if (Program.AppProgramSettings.ShowSplashScreen && Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); // If we've been handed a Form of some kind, then open it straight away @@ -188,9 +188,7 @@ namespace DisplayMagician.UIForms { var shortcutLibraryForm = new ShortcutLibraryForm(); shortcutLibraryForm.ShowDialog(this); - } - - + } } diff --git a/DisplayMagician/UIForms/SettingsForm.Designer.cs b/DisplayMagician/UIForms/SettingsForm.Designer.cs index 710ac07..a890de0 100644 --- a/DisplayMagician/UIForms/SettingsForm.Designer.cs +++ b/DisplayMagician/UIForms/SettingsForm.Designer.cs @@ -53,6 +53,7 @@ namespace DisplayMagician.UIForms this.gb_support = new System.Windows.Forms.GroupBox(); this.btn_create_support_package = new System.Windows.Forms.Button(); this.label3 = new System.Windows.Forms.Label(); + this.cb_show_splashscreen = new System.Windows.Forms.CheckBox(); this.gb_general.SuspendLayout(); this.gb_hotkeys.SuspendLayout(); this.gb_upgrades.SuspendLayout(); @@ -77,6 +78,7 @@ namespace DisplayMagician.UIForms // // gb_general // + this.gb_general.Controls.Add(this.cb_show_splashscreen); this.gb_general.Controls.Add(this.cb_start_on_boot); this.gb_general.Controls.Add(this.label1); this.gb_general.Controls.Add(this.cmb_loglevel); @@ -85,7 +87,7 @@ namespace DisplayMagician.UIForms this.gb_general.ForeColor = System.Drawing.Color.White; this.gb_general.Location = new System.Drawing.Point(27, 21); this.gb_general.Name = "gb_general"; - this.gb_general.Size = new System.Drawing.Size(525, 183); + this.gb_general.Size = new System.Drawing.Size(525, 239); this.gb_general.TabIndex = 11; this.gb_general.TabStop = false; this.gb_general.Text = "General Settings"; @@ -109,7 +111,7 @@ namespace DisplayMagician.UIForms this.label1.AutoSize = true; this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label1.ForeColor = System.Drawing.Color.Transparent; - this.label1.Location = new System.Drawing.Point(26, 120); + this.label1.Location = new System.Drawing.Point(26, 157); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(137, 16); this.label1.TabIndex = 13; @@ -119,7 +121,7 @@ namespace DisplayMagician.UIForms // this.cmb_loglevel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cmb_loglevel.FormattingEnabled = true; - this.cmb_loglevel.Location = new System.Drawing.Point(169, 117); + this.cmb_loglevel.Location = new System.Drawing.Point(169, 154); this.cmb_loglevel.Name = "cmb_loglevel"; this.cmb_loglevel.Size = new System.Drawing.Size(333, 24); this.cmb_loglevel.TabIndex = 12; @@ -296,9 +298,9 @@ namespace DisplayMagician.UIForms this.gb_upgrades.Controls.Add(this.cb_upgrade_prerelease); this.gb_upgrades.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.gb_upgrades.ForeColor = System.Drawing.Color.White; - this.gb_upgrades.Location = new System.Drawing.Point(27, 235); + this.gb_upgrades.Location = new System.Drawing.Point(27, 292); this.gb_upgrades.Name = "gb_upgrades"; - this.gb_upgrades.Size = new System.Drawing.Size(525, 177); + this.gb_upgrades.Size = new System.Drawing.Size(525, 120); this.gb_upgrades.TabIndex = 13; this.gb_upgrades.TabStop = false; this.gb_upgrades.Text = "Upgrade Settings"; @@ -368,6 +370,20 @@ namespace DisplayMagician.UIForms "this file to GitHub when you have a problem you need me to fix"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // + // cb_show_splashscreen + // + this.cb_show_splashscreen.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.cb_show_splashscreen.AutoSize = true; + this.cb_show_splashscreen.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F); + this.cb_show_splashscreen.ForeColor = System.Drawing.Color.White; + this.cb_show_splashscreen.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.cb_show_splashscreen.Location = new System.Drawing.Point(28, 113); + this.cb_show_splashscreen.Name = "cb_show_splashscreen"; + this.cb_show_splashscreen.Size = new System.Drawing.Size(312, 20); + this.cb_show_splashscreen.TabIndex = 15; + this.cb_show_splashscreen.Text = "Show DisplayMagician splash screen on startup"; + this.cb_show_splashscreen.UseVisualStyleBackColor = true; + // // SettingsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -426,5 +442,6 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.GroupBox gb_support; private System.Windows.Forms.Button btn_create_support_package; private System.Windows.Forms.Label label3; + private System.Windows.Forms.CheckBox cb_show_splashscreen; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index ccb5893..e43b6c3 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -64,6 +64,18 @@ namespace DisplayMagician.UIForms logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings MinimiseOnStart set to false"); } + // show splashscreen on startup + if (Program.AppProgramSettings.ShowSplashScreen == true) + { + cb_show_splashscreen.Checked = true; + logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings ShowSplashScreen set to true"); + } + else + { + cb_show_splashscreen.Checked = false; + logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings ShowSplashScreen set to false"); + } + // start upgrade settings if (Program.AppProgramSettings.UpgradeToPreReleases == true) { @@ -183,8 +195,7 @@ namespace DisplayMagician.UIForms } else logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully set DisplayMagician to start when Windows starts"); - } - + } else { Program.AppProgramSettings.StartOnBootUp = false; @@ -205,6 +216,13 @@ namespace DisplayMagician.UIForms Program.AppProgramSettings.MinimiseOnStart = false; logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully saved MinimiseOnStart as {Program.AppProgramSettings.MinimiseOnStart}"); + // save show splashscreen on startup + if (cb_show_splashscreen.Checked) + Program.AppProgramSettings.ShowSplashScreen = true; + else + Program.AppProgramSettings.ShowSplashScreen = false; + logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully saved ShowSplashScreen as {Program.AppProgramSettings.ShowSplashScreen}"); + // save loglevel on close // and make that log level live in NLog straight away var config = NLog.LogManager.Configuration; @@ -562,5 +580,6 @@ namespace DisplayMagician.UIForms } + } } From 9cdb1cb3f2d19b6b617d8ab73e7480a360b61281 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 19:38:21 +1300 Subject: [PATCH 060/112] Adjusted MainForm logic so it loads top most window Now that we load a splashscreen, I've had to adjust the MainForm window display logic so that it goes to the topmost window when the user requests it to. This is much easier to use. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/MainForm.cs | 27 ++++++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b6e150f..266d411 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.57")] -[assembly: AssemblyFileVersion("2.1.0.57")] +[assembly: AssemblyVersion("2.1.0.59")] +[assembly: AssemblyFileVersion("2.1.0.59")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index ea2d80f..1c1c378 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -123,7 +123,11 @@ namespace DisplayMagician.UIForms MessageBoxIcon.Error); } } - } + } + + // Shut down the splash screen + if (Program.AppProgramSettings.ShowSplashScreen && Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) + Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); if (Program.AppProgramSettings.MinimiseOnStart) { @@ -173,11 +177,7 @@ namespace DisplayMagician.UIForms { cb_minimise_notification_area.Checked = false; } - - // Shut down the splash screen - if (Program.AppProgramSettings.ShowSplashScreen && Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) - Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); - + // If we've been handed a Form of some kind, then open it straight away if (formToOpen is DisplayProfileForm) { @@ -189,8 +189,18 @@ namespace DisplayMagician.UIForms var shortcutLibraryForm = new ShortcutLibraryForm(); shortcutLibraryForm.ShowDialog(this); } + else + { + // Make this window top most if we're not minimised + if (!Program.AppProgramSettings.MinimiseOnStart) + { + this.TopMost = true; + this.Activate(); + this.TopMost = false; + } + } - } + } protected override void SetVisibleCore(bool value) { @@ -427,6 +437,9 @@ namespace DisplayMagician.UIForms Restore(); Show(); BringToFront(); + this.TopMost = true; + this.Activate(); + this.TopMost = false; } public void exitApplication() From 5f266aacbbfde5c4417a52e91718cacff3d9ea43 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 20:05:44 +1300 Subject: [PATCH 061/112] Improved loading speed by skipping game loading in certain instances No longer attempt to load games in profile reload, and in create profile. Need it for all other modes, but at least those two load quicker now! --- DisplayMagician/Program.cs | 21 +++++++++++++++++---- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index b198af9..ae7362e 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -316,6 +316,9 @@ namespace DisplayMagician { // This is the RunShortcut command app.Command(DisplayMagicianStartupAction.RunShortcut.ToString(), (runShortcutCmd) => { + // Try to load all the games in parallel to this process + Task.Run(() => LoadGamesInBackground()); + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -588,6 +591,10 @@ namespace DisplayMagician { } } logger.Info("Starting Normally..."); + + // Try to load all the games in parallel to this process + Task.Run(() => LoadGamesInBackground()); + StartUpApplication(); return 0; }); @@ -603,10 +610,7 @@ namespace DisplayMagician { splashThread.SetApartmentState(ApartmentState.STA); splashThread.Start(); - } - - // Try to load all the games in parallel to this process - Task.Run(() => LoadGamesInBackground()); + } try { @@ -658,6 +662,9 @@ namespace DisplayMagician { IPCService.GetInstance().Status = InstanceStatus.User; + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + // Run the program with directly showing CreateProfile form Application.Run(new DisplayProfileForm()); @@ -788,6 +795,9 @@ namespace DisplayMagician { throw new Exception(Language.Cannot_find_shortcut_in_library); } + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + if (shortcutToRun is ShortcutItem) { ShortcutRepository.RunShortcut(shortcutToRun); @@ -815,6 +825,9 @@ namespace DisplayMagician { ProfileItem profileToUse = ProfileRepository.AllProfiles.Where(p => p.UUID.Equals(profileName)).First(); logger.Trace($"Program/RunProfile: Found profile called {profileName} and now starting to apply the profile"); + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + ProfileRepository.ApplyProfile(profileToUse); } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 266d411..257815e 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.59")] -[assembly: AssemblyFileVersion("2.1.0.59")] +[assembly: AssemblyVersion("2.1.0.65")] +[assembly: AssemblyFileVersion("2.1.0.65")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 1ef9e5b818e7d567772e6edfc92628d490e983eb Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 30 Oct 2021 20:43:47 +1300 Subject: [PATCH 062/112] Made some changes to allow more statuses as ok Added all of the OK ADL statuses to be considered as successful. Should minimise the chances of things going wrong if there is a little issue like the display driver being busy, or if the display is fine but needs to wait for the next modeset. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/AMD/AMDLibrary.cs | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 257815e..55b0b16 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.65")] -[assembly: AssemblyFileVersion("2.1.0.65")] +[assembly: AssemblyVersion("2.1.0.67")] +[assembly: AssemblyFileVersion("2.1.0.67")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index aa563dd..a0dbf6c 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -1336,11 +1336,13 @@ namespace DisplayMagicianShared.AMD // We need to change to an Eyefinity (SLS) profile, so we need to apply the new SLS Topologies SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is enabled in the new display configuration, so we need to set it"); + SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: There are {displayConfig.SlsConfig.SLSMapConfigs.Count} SLSMapConfigs in this display configuration"); + foreach (AMD_SLSMAP_CONFIG slsMapConfig in displayConfig.SlsConfig.SLSMapConfigs) { // Attempt to turn on this SLS Map Config if it exists in the AMD Radeon driver config database ADLRet = ADLImport.ADL2_Display_SLSMapConfig_SetState(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap.SLSMapIndex, ADLImport.ADL_TRUE); - if (ADLRet == ADL_STATUS.ADL_OK) + if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_SetState successfully set the SLSMAP with index {slsMapConfig.SLSMap.SLSMapIndex} to TRUE for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1358,7 +1360,7 @@ namespace DisplayMagicianShared.AMD int supportedSLSLayoutImageMode; int reasonForNotSupportSLS; ADLRet = ADLImport.ADL2_Display_SLSMapConfig_Valid(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap, slsMapConfig.SLSTargets.Count, slsMapConfig.SLSTargets.ToArray(), out supportedSLSLayoutImageMode, out reasonForNotSupportSLS, ADLImport.ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE); - if (ADLRet == ADL_STATUS.ADL_OK) + if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_Valid successfully validated a new SLSMAP config for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1371,7 +1373,7 @@ namespace DisplayMagicianShared.AMD // Create and apply the new SLSMap int newSlsMapIndex; ADLRet = ADLImport.ADL2_Display_SLSMapConfig_Create(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap, slsMapConfig.SLSTargets.Count, slsMapConfig.SLSTargets.ToArray(), slsMapConfig.BezelModePercent, out newSlsMapIndex, ADLImport.ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE); - if (ADLRet == ADL_STATUS.ADL_OK) + if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) { if (newSlsMapIndex != -1) { @@ -1409,7 +1411,7 @@ namespace DisplayMagicianShared.AMD { // Turn off this SLS Map Config ADLRet = ADLImport.ADL2_Display_SLSMapConfig_SetState(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap.SLSMapIndex, ADLImport.ADL_FALSE); - if (ADLRet == ADL_STATUS.ADL_OK) + if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_SetState successfully disabled the SLSMAP with index {slsMapConfig.SLSMap.SLSMapIndex} for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1421,6 +1423,10 @@ namespace DisplayMagicianShared.AMD } } + else + { + SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is not used in the wanted display configuration, or the current display configuration. Nothing to do."); + } } From b7a03c1a619a32dff9eb149bedd79725c1736022 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 09:27:20 +1300 Subject: [PATCH 063/112] Update the right-click icon menu more consistently This should ensure that the shortcut and profile menus available from right click of the DisplayMagician system tray icon are updated more reliably. They should apply properly now. --- DisplayMagician/UIForms/DisplayProfileForm.cs | 13 ++++++------- DisplayMagician/UIForms/MainForm.cs | 12 ++++++++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 2d64d8b..0fa6c23 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -223,13 +223,6 @@ namespace DisplayMagician.UIForms } - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - - // Restart updating the saved_profiles listview ilv_saved_profiles.ResumeLayout(); } @@ -332,6 +325,12 @@ namespace DisplayMagician.UIForms // Refresh the image list view //RefreshImageListView(profile); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + // And finally refresh the profile in the display view dv_profile.Profile = profile; dv_profile.Refresh(); diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 1c1c378..5748e2c 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -407,6 +407,12 @@ namespace DisplayMagician.UIForms // Run the shortcut if it's still there if (profileToRun != null) ProfileRepository.ApplyProfile(profileToRun); + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } } @@ -428,6 +434,12 @@ namespace DisplayMagician.UIForms // Run the shortcut if it's still there if (shortcutToRun != null) ShortcutRepository.RunShortcut(shortcutToRun, notifyIcon); + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } } From 340e1a6db081b0ee51a02567bbba08ab583dfdbf Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 09:50:34 +1300 Subject: [PATCH 064/112] Added additional places to refresh notification icons This should hopefully cover all the instances of when we need to update the notification icons to refresh the correct profiles and game shortcuts. --- DisplayMagician/UIForms/DisplayProfileForm.cs | 19 ++++++++++++ .../UIForms/ShortcutLibraryForm.cs | 30 +++++++++++++++---- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index 0fa6c23..b828068 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -69,6 +69,12 @@ namespace DisplayMagician.UIForms { logger.Warn($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } @@ -124,6 +130,12 @@ namespace DisplayMagician.UIForms } + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private void Save_Click(object sender, EventArgs e) @@ -178,6 +190,7 @@ namespace DisplayMagician.UIForms { MessageBox.Show(ex.Message, Language.Shortcut, MessageBoxButtons.OK, MessageBoxIcon.Warning); } + } } @@ -431,6 +444,12 @@ namespace DisplayMagician.UIForms // now update the profiles image listview RefreshDisplayProfileUI(); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private void ilv_saved_profiles_ItemClick(object sender, ItemClickEventArgs e) diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 3e3b33e..19981ac 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -102,12 +102,6 @@ namespace DisplayMagician.UIForms // Restart updating the saved_profiles listview ilv_saved_shortcuts.ResumeLayout(); - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - } private ShortcutItem GetShortcutFromName(string shortcutName) @@ -207,6 +201,7 @@ namespace DisplayMagician.UIForms } catch (Exception ex) { + logger.Warn(ex, $"ShortcutLibraryForm/btn_save_Click: Exception saving shortcut to {dialog_save.FileName}."); MessageBox.Show(ex.Message, Language.Shortcut, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } @@ -282,6 +277,11 @@ namespace DisplayMagician.UIForms this.Cursor = Cursors.Default; RemoveWarningIfShortcuts(); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } private void btn_edit_Click(object sender, EventArgs e) @@ -328,6 +328,12 @@ namespace DisplayMagician.UIForms } this.Cursor = Cursors.Default; + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } } @@ -365,6 +371,12 @@ namespace DisplayMagician.UIForms ShortcutRepository.IsValidRefresh(); RefreshShortcutLibraryUI(); RemoveWarningIfShortcuts(); + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } private void btn_run_Click(object sender, EventArgs e) @@ -437,6 +449,12 @@ namespace DisplayMagician.UIForms lbl_mask.Visible = false; lbl_mask.SendToBack(); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private void ilv_saved_shortcuts_ItemHover(object sender, ItemHoverEventArgs e) From 613283da41543dd6367529ba2b7fee28fbe24c4c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 10:00:57 +1300 Subject: [PATCH 065/112] Temporarily force DisplayMagician to wait for games to load This is a test to see if this fixes the missing Steam games in large Steam libraries issue (#49). --- DisplayMagician/Program.cs | 30 +++++++++-------- DisplayMagician/ShortcutRepository.cs | 1 + DisplayMagician/UIForms/LoadingForm.cs | 1 + displaymagician/uiforms/displayprofileform.cs | 32 +++++++++++++++---- 4 files changed, 44 insertions(+), 20 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index ae7362e..eac76c5 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -317,7 +317,8 @@ namespace DisplayMagician { app.Command(DisplayMagicianStartupAction.RunShortcut.ToString(), (runShortcutCmd) => { // Try to load all the games in parallel to this process - Task.Run(() => LoadGamesInBackground()); + //Task.Run(() => LoadGamesInBackground()); + LoadGamesInBackground(); // Set the --trace or --debug options if supplied if (trace.HasValue()) @@ -591,16 +592,17 @@ namespace DisplayMagician { } } logger.Info("Starting Normally..."); - + // Try to load all the games in parallel to this process - Task.Run(() => LoadGamesInBackground()); + //Task.Run(() => LoadGamesInBackground()); + logger.Debug($"Try to load all the Games in the background to avoid locking the UI"); + LoadGamesInBackground(); StartUpApplication(); return 0; }); - logger.Debug($"Try to load all the Games in the background to avoid locking the UI"); - + if (AppProgramSettings.ShowSplashScreen) { //Show Splash Form @@ -609,7 +611,6 @@ namespace DisplayMagician { () => Application.Run(AppSplashScreen))); splashThread.SetApartmentState(ApartmentState.STA); splashThread.Start(); - } try @@ -662,6 +663,7 @@ namespace DisplayMagician { IPCService.GetInstance().Status = InstanceStatus.User; + // Close the splash screen if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); @@ -735,7 +737,7 @@ namespace DisplayMagician { // Run the program with normal startup AppMainForm = new MainForm(); - //AppMainForm.Load += MainForm_LoadCompleted; + AppMainForm.Load += MainForm_LoadCompleted; Application.Run(AppMainForm); } @@ -768,6 +770,10 @@ namespace DisplayMagician { ShortcutItem shortcutToRun = null; + // Close the splash screen + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + // Check there is only one version of this application so we won't // mess with another monitoring session if ( @@ -795,9 +801,6 @@ namespace DisplayMagician { throw new Exception(Language.Cannot_find_shortcut_in_library); } - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) - AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); - if (shortcutToRun is ShortcutItem) { ShortcutRepository.RunShortcut(shortcutToRun); @@ -821,13 +824,14 @@ namespace DisplayMagician { { logger.Trace($"Program/RunProfile: Starting"); + // Close the splash screen + if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) + AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); + // Lookup the profile ProfileItem profileToUse = ProfileRepository.AllProfiles.Where(p => p.UUID.Equals(profileName)).First(); logger.Trace($"Program/RunProfile: Found profile called {profileName} and now starting to apply the profile"); - if (ProgramSettings.LoadSettings().ShowSplashScreen && AppSplashScreen != null && !AppSplashScreen.Disposing && !AppSplashScreen.IsDisposed) - AppSplashScreen.Invoke(new Action(() => AppSplashScreen.Close())); - ProfileRepository.ApplyProfile(profileToUse); } diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index 0c18f3c..f87fceb 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -629,6 +629,7 @@ namespace DisplayMagician @"Cannot run the Shortcut", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return; } diff --git a/DisplayMagician/UIForms/LoadingForm.cs b/DisplayMagician/UIForms/LoadingForm.cs index f371717..a67e226 100644 --- a/DisplayMagician/UIForms/LoadingForm.cs +++ b/DisplayMagician/UIForms/LoadingForm.cs @@ -15,6 +15,7 @@ namespace DisplayMagician.UIForms public LoadingForm() { InitializeComponent(); + this.TopMost = false; } } } diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index 2d64d8b..b828068 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -69,6 +69,12 @@ namespace DisplayMagician.UIForms { logger.Warn($"DisplayProfileForm/Apply_Click: Error applying the Profile {_selectedProfile.Name}. Unable to change the display layout."); } + + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } } @@ -124,6 +130,12 @@ namespace DisplayMagician.UIForms } + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private void Save_Click(object sender, EventArgs e) @@ -178,6 +190,7 @@ namespace DisplayMagician.UIForms { MessageBox.Show(ex.Message, Language.Shortcut, MessageBoxButtons.OK, MessageBoxIcon.Warning); } + } } @@ -223,13 +236,6 @@ namespace DisplayMagician.UIForms } - // Also refresh the right-click menu (if we have a main form loaded) - if (Program.AppMainForm is Form) - { - Program.AppMainForm.RefreshNotifyIconMenus(); - } - - // Restart updating the saved_profiles listview ilv_saved_profiles.ResumeLayout(); } @@ -332,6 +338,12 @@ namespace DisplayMagician.UIForms // Refresh the image list view //RefreshImageListView(profile); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + // And finally refresh the profile in the display view dv_profile.Profile = profile; dv_profile.Refresh(); @@ -432,6 +444,12 @@ namespace DisplayMagician.UIForms // now update the profiles image listview RefreshDisplayProfileUI(); + // Also refresh the right-click menu (if we have a main form loaded) + if (Program.AppMainForm is Form) + { + Program.AppMainForm.RefreshNotifyIconMenus(); + } + } private void ilv_saved_profiles_ItemClick(object sender, ItemClickEventArgs e) From 1965ef714f8db21f6e688457510ccfae35802eea Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 10:11:14 +1300 Subject: [PATCH 066/112] Wrapped try statements around programToStop If a program starts, and then runs another app and then closes itself, then there is a real possibility that the processToStop logic will fail while trying to handle this process. This code now has 3 try/catch statements around it to try and catch this in a friendly way. This should also highlight any issues with the logic and hopefully make it better. --- DisplayMagician/ShortcutRepository.cs | 92 ++++++++++++++++----------- 1 file changed, 56 insertions(+), 36 deletions(-) diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index f87fceb..8b62e96 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -1816,66 +1816,86 @@ namespace DisplayMagician foreach (Process processToStop in startProgramsToStop.Reverse()) { bool stoppedMainProcess = false; - // Stop the process if it hasn't stopped already - if (!processToStop.HasExited) + try { - logger.Debug($"ShortcutRepository/RunShortcut: Stopping process {processToStop.StartInfo.FileName}"); - if (ProcessUtils.StopProcess(processToStop)) + if (!processToStop.HasExited) { - logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); - stoppedMainProcess = true; + logger.Debug($"ShortcutRepository/RunShortcut: Stopping process {processToStop.StartInfo.FileName}"); + if (ProcessUtils.StopProcess(processToStop)) + { + logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); + stoppedMainProcess = true; + } } } + catch (Exception ex) + { + logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has already exited"); + } // Next, check whether it had any other processes it started itself // (copes with loader processes that perform the initial start, then run the main exe) // If so, we need to go through and find and close all subprocesses - List childProcesses = ProcessUtils.FindChildProcesses(processToStop); - if (childProcesses.Count > 0) + try { - foreach (Process childProcessToStop in childProcesses) + List childProcesses = ProcessUtils.FindChildProcesses(processToStop); + if (childProcesses.Count > 0) { - if (processToStop.HasExited) + foreach (Process childProcessToStop in childProcesses) { - // if there were no child processes, and the only process has already exited (e.g. the user exited it themselves) - // then stop trying to stop the process, and instead log the fact it already stopped. - Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); - logger.Warn($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); - continue; - } + if (processToStop.HasExited) + { + // if there were no child processes, and the only process has already exited (e.g. the user exited it themselves) + // then stop trying to stop the process, and instead log the fact it already stopped. + Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); + logger.Warn($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); + continue; + } - Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); - logger.Debug($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); - ProcessUtils.StopProcess(childProcessToStop); + Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); + logger.Debug($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); + ProcessUtils.StopProcess(childProcessToStop); + } } } + catch (Exception ex) + { + logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has any child processes"); + } // if the only main process has already exited (e.g. the user exited it themselves) // then we try to stop any processes with the same name as the application we started // Look for the processes with the ProcessName we sorted out earlier // Basically, if we haven't stopped all the children processes, then this is the last gasp - if (!stoppedMainProcess) + try { - string processName = Path.GetFileNameWithoutExtension(processToStop.StartInfo.FileName); - List namedProcessesToStop = Process.GetProcessesByName(processName).ToList(); + if (!stoppedMainProcess) + { + string processName = Path.GetFileNameWithoutExtension(processToStop.StartInfo.FileName); + List namedProcessesToStop = Process.GetProcessesByName(processName).ToList(); - // If we have found one or more processes then we should be good to go - if (namedProcessesToStop.Count > 0) - { - logger.Warn($"ShortcutRepository/RunShortcut: We couldn't find any children processes so we've looked for named processes with the name '{processToStop.StartInfo.FileName}' and we found {namedProcessesToStop.Count}. Closing them."); - foreach (Process namedProcessToStop in namedProcessesToStop) + // If we have found one or more processes then we should be good to go + if (namedProcessesToStop.Count > 0) { - ProcessUtils.StopProcess(namedProcessToStop); - } + logger.Warn($"ShortcutRepository/RunShortcut: We couldn't find any children processes so we've looked for named processes with the name '{processToStop.StartInfo.FileName}' and we found {namedProcessesToStop.Count}. Closing them."); + foreach (Process namedProcessToStop in namedProcessesToStop) + { + ProcessUtils.StopProcess(namedProcessToStop); + } + } + else + { + // then give up trying to stop the process, and instead log the fact it already stopped. + Console.WriteLine($"Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); + logger.Debug($"ShortcutRepository/RunShortcut: Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); + } + continue; } - else - { - // then give up trying to stop the process, and instead log the fact it already stopped. - Console.WriteLine($"Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); - logger.Debug($"ShortcutRepository/RunShortcut: Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); - } - continue; + } + catch (Exception ex) + { + logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while looking for other processes similar to processToStop for us to stop."); } } From d6887e53e676e4a884890ada0d9b6172237b9f8c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 10:24:27 +1300 Subject: [PATCH 067/112] Updated right-click menu tp bold the active display This should help remove confusion. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/DisplayProfileForm.cs | 3 +++ DisplayMagician/UIForms/MainForm.cs | 13 +++++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 55b0b16..1cd9722 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.67")] -[assembly: AssemblyFileVersion("2.1.0.67")] +[assembly: AssemblyVersion("2.1.0.71")] +[assembly: AssemblyFileVersion("2.1.0.71")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/DisplayProfileForm.cs b/DisplayMagician/UIForms/DisplayProfileForm.cs index b828068..6bc4800 100644 --- a/DisplayMagician/UIForms/DisplayProfileForm.cs +++ b/DisplayMagician/UIForms/DisplayProfileForm.cs @@ -130,6 +130,9 @@ namespace DisplayMagician.UIForms } + // As this may impact which game shortcuts are now usable, also force a refresh of the game shortcuts validity + ShortcutRepository.IsValidRefresh(); + // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) { diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 5748e2c..9b60a55 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -351,10 +351,19 @@ namespace DisplayMagician.UIForms foreach (ProfileItem profile in ProfileRepository.AllProfiles) { ToolStripMenuItem profileMenuItem = new ToolStripMenuItem(profile.Name, profile.ProfileBitmap, runProfileToolStripMenuItem_Click); - if (profile.IsActive || !profile.IsPossible) + if (!profile.IsPossible) + { profileMenuItem.Enabled = false; - else + } + else if (profile.IsActive) + { profileMenuItem.Enabled = true; + profileMenuItem.Font = new Font(profileMenuItem.Font, FontStyle.Bold); + } + else + { + profileMenuItem.Enabled = true; + } profileToolStripMenuItem.DropDownItems.Add(profileMenuItem); } From dfe07ae52108be4c72f54026094bd50e304d1b4b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 10:54:09 +1300 Subject: [PATCH 068/112] Added list of additional help and sponsors I am so lucky to have such amazing users who take time out of their lives to make DisplayMagician better and better. Thank you to all my helpers and sponsors! --- README.md | 12 +++++++++--- displaymagician/uiforms/displayprofileform.cs | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 029debf..218a7c4 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,15 @@ Thanks for the work and the time that all of our contributors put into making th * Original HelioDisplayManagement project created by the amazing Soroush Falahati * Various icons made by Freepik from www.flaticon.com +* Erbkaiser (for the amazing help bug squashing) +* SneakingJ (Major props for the help getting cloned display profiles to work) +* Scowling (Again, without you, AMD support wouldn’t exist for v2.1) +* Slippery-silvia (Again, thanks for the testing help for Mosaic cards with v2.1) +* Domenic (Thanks for the testing help as always) +* Mobeeuz (Your thorough testing logs really helped!) +* S4b0tage (Thanks for the testing help and the coffees) +* Gpo123 (thanks for the bug report) +* Whitestar127 (thanks for the bug report) * Scowling (Without you, AMD support wouldn’t exist) * Frcooper (thanks for the sponsoring) * Stringfieldmark (thanks for sponsoring and the testing help) @@ -152,8 +161,5 @@ Thanks for the work and the time that all of our contributors put into making th * Sk666 (thanks for the donation) * FormelLMS (thanks for the donation and the testing help) * RBZL (thanks for the donation) -* Domenic (thanks for the testing help) -* Mobeeuz (thanks for the testing help) -* Slippery-silvia (thanks for the testing help for Mosaic cards) * Neilperson (thanks for the cool idea) * DragRedSim (thanks for the bug report) diff --git a/displaymagician/uiforms/displayprofileform.cs b/displaymagician/uiforms/displayprofileform.cs index b828068..6bc4800 100644 --- a/displaymagician/uiforms/displayprofileform.cs +++ b/displaymagician/uiforms/displayprofileform.cs @@ -130,6 +130,9 @@ namespace DisplayMagician.UIForms } + // As this may impact which game shortcuts are now usable, also force a refresh of the game shortcuts validity + ShortcutRepository.IsValidRefresh(); + // Also refresh the right-click menu (if we have a main form loaded) if (Program.AppMainForm is Form) { From f72fc6feea1b6b9bdee62f28b5f92ad452a6dda8 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 12:50:57 +1300 Subject: [PATCH 069/112] Attempted to reduce the number of video card library calls Found some calls that were bypassing the video library state buffering I'd put in place earlier. This should generally make DisplayMagician faster and minimise the number of log entries written to DisplayMagician.log. --- DisplayMagicianShared/ProfileItem.cs | 6 ++++-- DisplayMagicianShared/ProfileRepository.cs | 15 +++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index 5d691f6..c63820d 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -454,10 +454,11 @@ namespace DisplayMagicianShared public virtual bool PreSave() { // Prepare our profile data for saving - if (_profileDisplayIdentifiers.Count == 0) + // Disabling as this should never happen now + /*if (_profileDisplayIdentifiers.Count == 0) { _profileDisplayIdentifiers = ProfileRepository.GetCurrentDisplayIdentifiers(); - } + }*/ // Return if it is valid and we should continue return IsValid(); @@ -638,6 +639,7 @@ namespace DisplayMagicianShared } else { + SharedLogger.logger.Warn($"ProfileRepository/IsPossibleRefresh: We have a current video mode we don't understand, or it's not installed! The current video mode is {ProfileRepository.CurrentVideoMode}. The profile {Name} has a {VideoMode.ToString("G")} video mode and NVIDIALibrary IsInstalled is {NVIDIALibrary.GetLibrary().IsInstalled}, AMDLibrary IsInstalled is {AMDLibrary.GetLibrary().IsInstalled} and WinLibrary IsInstalled is {WinLibrary.GetLibrary().IsInstalled} "); _isPossible = false; } } diff --git a/DisplayMagicianShared/ProfileRepository.cs b/DisplayMagicianShared/ProfileRepository.cs index 7305c97..b6794f4 100644 --- a/DisplayMagicianShared/ProfileRepository.cs +++ b/DisplayMagicianShared/ProfileRepository.cs @@ -769,7 +769,7 @@ namespace DisplayMagicianShared _profilesLoaded = true; // Update the current active profile - UpdateActiveProfile(); + //UpdateActiveProfile(); IsPossibleRefresh(); return true; @@ -998,7 +998,7 @@ namespace DisplayMagicianShared { // We need to refresh the cached answer // Get the list of connected devices - ConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); + //ConnectedDisplayIdentifiers = GetAllConnectedDisplayIdentifiers(); if (_profilesLoaded && _allProfiles.Count > 0) { @@ -1029,15 +1029,15 @@ namespace DisplayMagicianShared { if (_currentVideoMode == VIDEO_MODE.NVIDIA && NVIDIALibrary.GetLibrary().IsInstalled) { - return NVIDIALibrary.GetLibrary().GetCurrentDisplayIdentifiers(); + return NVIDIALibrary.GetLibrary().CurrentDisplayIdentifiers; } else if (_currentVideoMode == VIDEO_MODE.AMD && AMDLibrary.GetLibrary().IsInstalled) { - return AMDLibrary.GetLibrary().GetCurrentDisplayIdentifiers(); + return AMDLibrary.GetLibrary().CurrentDisplayIdentifiers; } else { - return WinLibrary.GetLibrary().GetCurrentDisplayIdentifiers(); + return WinLibrary.GetLibrary().CurrentDisplayIdentifiers; } } @@ -1143,14 +1143,13 @@ namespace DisplayMagicianShared if (wasDisplayChangeSuccessful) { result = "was successful"; + ProfileRepository.UpdateActiveProfile(); + } // Display the TimeSpan time and result. SharedLogger.logger.Debug($"ProfileRepository/ApplyProfile: Display change attempt took {ts.Minutes}:{ts.Seconds}.{ts.Milliseconds} and {result}."); } - - ProfileRepository.UpdateActiveProfile(); - return ApplyProfileResult.Successful; } From 2da00a55ecfec1a203a9c5145845531868ff747e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 16:22:21 +1300 Subject: [PATCH 070/112] Fixed auto start functionality DM wasn't autstarting when the checkbox on the MainForm was started. It wasn't correctly enabling the setting. It now does. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/MainForm.cs | 4 ++-- DisplayMagician/UIForms/SettingsForm.cs | 25 +++++++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 1cd9722..1471f89 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.71")] -[assembly: AssemblyFileVersion("2.1.0.71")] +[assembly: AssemblyVersion("2.1.0.73")] +[assembly: AssemblyFileVersion("2.1.0.73")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/MainForm.cs b/DisplayMagician/UIForms/MainForm.cs index 9b60a55..624951b 100644 --- a/DisplayMagician/UIForms/MainForm.cs +++ b/DisplayMagician/UIForms/MainForm.cs @@ -489,7 +489,7 @@ namespace DisplayMagician.UIForms allowClose = false; // Enable the MinimiseOnStart setting Program.AppProgramSettings.MinimiseOnStart = true; - Program.AppProgramSettings.StartOnBootUp = true; + SettingsForm.SetBootMeUp(true); // Change the exit_button text to say 'Close' btn_exit.Text = "&Close"; } @@ -501,7 +501,7 @@ namespace DisplayMagician.UIForms allowClose = true; // Disable the MinimiseOnStart setting Program.AppProgramSettings.MinimiseOnStart = false; - Program.AppProgramSettings.StartOnBootUp = false; + SettingsForm.SetBootMeUp(false); // Change the exit_button text to say 'Exit' btn_exit.Text = "&Exit"; diff --git a/DisplayMagician/UIForms/SettingsForm.cs b/DisplayMagician/UIForms/SettingsForm.cs index e43b6c3..a63b711 100644 --- a/DisplayMagician/UIForms/SettingsForm.cs +++ b/DisplayMagician/UIForms/SettingsForm.cs @@ -172,10 +172,8 @@ namespace DisplayMagician.UIForms } - private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) + public static bool SetBootMeUp(bool enabled) { - - logger.Info($"SettingsForm/SettingsForm_Load: AppProgramSettings LogLevel set to Trace"); var bootMeUp = new BootMeUp { UseAlternativeOnFail = true, @@ -184,7 +182,7 @@ namespace DisplayMagician.UIForms }; // save start on Boot up - if (cb_start_on_boot.Checked) + if (enabled) { Program.AppProgramSettings.StartOnBootUp = true; bootMeUp.Enabled = true; @@ -192,10 +190,15 @@ namespace DisplayMagician.UIForms { logger.Error($"SettingsForm/SettingsForm_FormClosing: Failed to set up DisplayMagician to start when Windows starts"); MessageBox.Show("There was an issue setting DisplayMagician to run when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps."); + return false; } else + { logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully set DisplayMagician to start when Windows starts"); - } + return true; + } + + } else { Program.AppProgramSettings.StartOnBootUp = false; @@ -204,10 +207,22 @@ namespace DisplayMagician.UIForms { logger.Error($"SettingsForm/SettingsForm_FormClosing: Failed to stop DisplayMagician from starting when Windows starts"); MessageBox.Show("There was an issue stopping DisplayMagician from running when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps."); + return false; } else + { logger.Info($"SettingsForm/SettingsForm_FormClosing: Successfully stopped DisplayMagician from starting when Windows starts"); + return true; + } + } + } + + private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) + { + + logger.Info($"SettingsForm/SettingsForm_Load: Setting BootMeUp to {cb_start_on_boot.Checked}"); + SetBootMeUp(cb_start_on_boot.Checked); // save minimise on close if (cb_minimise_notification_area.Checked) From 275adbeda616e83f71c24fb277071afc8bad2b49 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 31 Oct 2021 20:47:46 +1300 Subject: [PATCH 071/112] Found longstanding dual game load issue Should stop the double loading of games once and for all. --- DisplayMagician/Program.cs | 25 +++++++++++----------- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index eac76c5..1dd1ae0 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -44,6 +44,7 @@ namespace DisplayMagician { public static LoadingForm AppSplashScreen; private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private static SharedLogger sharedLogger; + private static bool _gamesLoaded = false; /// /// The main entry point for the application. @@ -318,8 +319,7 @@ namespace DisplayMagician { { // Try to load all the games in parallel to this process //Task.Run(() => LoadGamesInBackground()); - LoadGamesInBackground(); - + // Set the --trace or --debug options if supplied if (trace.HasValue()) { @@ -378,7 +378,9 @@ namespace DisplayMagician { { logger.Debug($"RunShortcut commandline command was invoked!"); - // + // Load the games in background onexecute + LoadGamesInBackground(); + RunShortcut(argumentShortcut.Value); return 0; }); @@ -705,8 +707,7 @@ namespace DisplayMagician { } catch (Exception ex) { - Console.WriteLine($"Program/StartUpNormally exception: {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); - logger.Error(ex, $"Program/StartUpNormally exception while trying to create directory {AppIconPath}"); + logger.Error(ex, $"Program/StartUpApplication exception while trying to create directory {AppIconPath}"); } } @@ -723,8 +724,7 @@ namespace DisplayMagician { } catch (Exception ex) { - Console.WriteLine($"Program/StartUpNormally exception 2: {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); - logger.Error(ex, $"Program/StartUpNormally exception create Icon files for future use in {AppIconPath}"); + logger.Error(ex, $"Program/StartUpApplication exception create Icon files for future use in {AppIconPath}"); } IPCService.GetInstance().Status = InstanceStatus.User; @@ -743,8 +743,7 @@ namespace DisplayMagician { } catch (Exception ex) { - Console.WriteLine($"Program/StartUpNormally exception 3: {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); - logger.Error(ex, $"Program/StartUpNormally top level exception: {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); + logger.Error(ex, $"Program/StartUpApplication top level exception: {ex.Message}: {ex.StackTrace} - {ex.InnerException}"); MessageBox.Show( ex.Message, Language.Fatal_Error, @@ -839,7 +838,9 @@ namespace DisplayMagician { public static bool LoadGamesInBackground() { - logger.Debug($"Program/LoadGamesInBackground: Starting"); + logger.Trace($"Program/LoadGamesInBackground: Attempting to load games from detected game libraries."); + + // Now lets prepare loading all the Steam games we have installed Action loadSteamGamesAction = new Action(() => { @@ -1042,9 +1043,9 @@ namespace DisplayMagician { game.GameBitmap = bm; } + _gamesLoaded = true; + return true; - - } public static string HotkeyToString(Keys hotkey) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 1471f89..f2cce26 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.73")] -[assembly: AssemblyFileVersion("2.1.0.73")] +[assembly: AssemblyVersion("2.1.0.78")] +[assembly: AssemblyFileVersion("2.1.0.78")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From ecb3acad0e9e3b4103948bde5cb21732886ff5c2 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 1 Nov 2021 08:37:50 +1300 Subject: [PATCH 072/112] Updated build --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index f2cce26..9f60421 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.78")] -[assembly: AssemblyFileVersion("2.1.0.78")] +[assembly: AssemblyVersion("2.1.0.79")] +[assembly: AssemblyFileVersion("2.1.0.79")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From f1023df47824bd5ee9185539999ec96e54431deb Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 1 Nov 2021 20:57:16 +1300 Subject: [PATCH 073/112] Initial manual shortcut implementation --- DisplayMagician/ShortcutItem.cs | 287 ++++++++++-------- .../UIForms/ShortcutForm.Designer.cs | 201 ++++++++---- DisplayMagician/UIForms/ShortcutForm.cs | 135 ++++++++ 3 files changed, 430 insertions(+), 193 deletions(-) diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index d4be151..6f871b5 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -132,6 +132,9 @@ namespace DisplayMagician [JsonIgnore] #pragma warning disable CS3008 // Identifier is not CLS-compliant public string _originalIconPath; + public bool _userChoseOwnIcon = false; + public string _userIconPath; + private Bitmap _userIconBitmap; [JsonIgnore] public string _savedShortcutIconCacheFilename; #pragma warning restore CS3008 // Identifier is not CLS-compliant @@ -713,6 +716,51 @@ namespace DisplayMagician } } + public bool UserChoseOwnIcon + { + get + { + return _userChoseOwnIcon; + } + + set + { + _userChoseOwnIcon = value; + } + } + + public string UserIconPath + { + get + { + return _userIconPath; + } + + set + { + _userIconPath = value; + + // And we do the same for the UserLargeBitmap + //_userIconBitmap = ToLargeBitmap(_userIconPath); + } + } + + [JsonConverter(typeof(CustomBitmapConverter))] + public Bitmap UserLargeBitmap + { + get + { + return _userIconBitmap; + } + + set + { + _userIconBitmap = value; + + } + } + + public void UpdateNoGameShortcut( string name, #pragma warning disable CS3001 // Argument type is not CLS-compliant @@ -776,6 +824,8 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, + bool userChoseOwnIcon = false, + string userIconPath = "", bool changeAudioDevice = false, string audioDevice = "", bool setAudioVolume = false, @@ -819,25 +869,15 @@ namespace DisplayMagician _autoName = autoName; _startPrograms = startPrograms; _originalIconPath = originalIconPath; + _userChoseOwnIcon = userChoseOwnIcon; + _userIconPath = userIconPath; _hotkey = hotkey; // Now we need to find and populate the profileUuid _profileUuid = profile.UUID; - // We create the OriginalBitmap - // Find the game bitmap that matches the game name we just got - foreach (var aGame in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) - { - if (aGame.Name.Equals(_gameName)) - { - _originalBitmap = aGame.GameBitmap; - } - } - - // We create the ShortcutBitmap from the OriginalBitmap - // (We only do it if there is a valid profile) - if (_profileToUse is ProfileItem) - _shortcutBitmap = ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + // We create the Bitmaps for the game + SetBitmapsForGame(); ReplaceShortcutIconInCache(); RefreshValidity(); @@ -853,6 +893,8 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, + bool userChoseOwnIcon = false, + string userIconPath = "", bool changeAudioDevice = false, string audioDevice = "", bool setAudioVolume = false, @@ -893,21 +935,15 @@ namespace DisplayMagician _autoName = autoName; _startPrograms = startPrograms; _originalIconPath = originalIconPath; + _userChoseOwnIcon = userChoseOwnIcon; + _userIconPath = userIconPath; _hotkey = hotkey; // Now we need to find and populate the profileUuid _profileUuid = profile.UUID; - // We create the OriginalBitmap from the IconPath - //_originalLargeBitmap = ToLargeBitmap(_originalIconPath); - // We create the OriginalBitmap - _originalBitmap = ImageUtils.GetMeABitmapFromFile(_originalIconPath); - - // We create the ShortcutBitmap from the OriginalBitmap - // (We only do it if there is a valid profile) - //if (_profileToUse is ProfileItem) - // _shortcutBitmap = ToBitmapOverlay(_originalLargeBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); - _shortcutBitmap = ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + // We create the Bitmaps for the executable + SetBitmapsForExecutable(); ReplaceShortcutIconInCache(); RefreshValidity(); @@ -945,6 +981,9 @@ namespace DisplayMagician shortcut.OriginalLargeBitmap = OriginalLargeBitmap; shortcut.ShortcutBitmap = ShortcutBitmap; shortcut.SavedShortcutIconCacheFilename = SavedShortcutIconCacheFilename; + shortcut.UserChoseOwnIcon = UserChoseOwnIcon; + shortcut.UserIconPath = UserIconPath; + shortcut.UserLargeBitmap = UserLargeBitmap; shortcut.IsValid = IsValid; shortcut.Errors.AddRange(Errors); shortcut.StartPrograms = StartPrograms; @@ -1000,57 +1039,17 @@ namespace DisplayMagician // Work out the name of the shortcut we'll save. _savedShortcutIconCacheFilename = Path.Combine(Program.AppShortcutPath, $"{UUID}.ico"); logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Planning on saving shortcut icon to cache as {_savedShortcutIconCacheFilename}."); - - MultiIcon shortcutIcon; + Icon shortcutIcon; try { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Creating IconOverlay."); - shortcutIcon = ToIconOverlay(); - if (shortcutIcon != null) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving shortcut icon to cache with {_savedShortcutIconCacheFilename} as the name."); - shortcutIcon.Save(_savedShortcutIconCacheFilename, MultiIconFormat.ICO); - } - else - { - // If we fail to create an icon based on the original executable or game - // Then we use the one appropriate for the game library - SingleIcon si = shortcutIcon.Add("icon"); - Bitmap bm = null; - if (_gameLibrary == SupportedGameLibraryType.Steam) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Steam icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.Steam, _profileToUse.ProfileIcon.ToBitmap(),256,256); - } - else if (_gameLibrary == SupportedGameLibraryType.Uplay) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Uplay icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.Uplay, _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - else if (_gameLibrary == SupportedGameLibraryType.Origin) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Origin icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.Origin, _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - else if (_gameLibrary == SupportedGameLibraryType.Epic) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Epic icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.Epic, _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - else if (_gameLibrary == SupportedGameLibraryType.GOG) - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the GOG icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.GOG, _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - else - { - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - bm = ToBitmapOverlay(Properties.Resources.DisplayMagician.ToBitmap(), _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - si.Add(bm); - logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving the replacement icon for Shortcut '{Name}' to {_savedShortcutIconCacheFilename}."); - shortcutIcon.Save(_savedShortcutIconCacheFilename, MultiIconFormat.ICO); - } + logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Creating Icon from Shortcut bitmap."); + // Get an Hicon for the shortcutBitmap + IntPtr Hicon = _shortcutBitmap.GetHicon(); + // Create a new icon from the handle. + shortcutIcon = Icon.FromHandle(Hicon); + logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving shortcut icon to cache with {_savedShortcutIconCacheFilename} as the name."); + using (FileStream fs = new FileStream(_savedShortcutIconCacheFilename, FileMode.Create)) + shortcutIcon.Save(fs); } catch (Exception ex) @@ -1059,91 +1058,109 @@ namespace DisplayMagician // If we fail to create an icon any other way, then we use the default profile icon logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Display Profile icon for {_profileToUse.Name} as the icon instead."); - shortcutIcon = _profileToUse.ProfileIcon.ToIcon(); + shortcutIcon = Properties.Resources.DisplayMagician; logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving the Display Profile icon for {_profileToUse.Name} to {_savedShortcutIconCacheFilename}."); - shortcutIcon.Save(_savedShortcutIconCacheFilename, MultiIconFormat.ICO); + using (FileStream fs = new FileStream(_savedShortcutIconCacheFilename, FileMode.Create)) + shortcutIcon.Save(fs); } } - public Bitmap ToBitmapOverlay(Bitmap originalBitmap, Bitmap overlayBitmap, int width, int height, PixelFormat format = PixelFormat.Format32bppArgb) + public void SetBitmapsForGame() { - if (originalBitmap == null) + // Get the user icon bitmap if its set. + if (_userChoseOwnIcon) { - if (_category == ShortcutCategory.Application) + logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon instead (from {_userIconPath})."); + _userIconBitmap = ImageUtils.GetMeABitmapFromFile(_userIconPath); + } + + // Get the game icon bitmap if we can find it. + logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the game executable icon as the game icon instead from {_originalIconPath}."); + // Find the game bitmap that matches the game name we just got + foreach (var aGame in GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) + { + if (aGame.Name.Equals(_gameName)) { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the executable icon as the icon instead."); - originalBitmap = ImageUtils.GetMeABitmapFromFile(_executableNameAndPath); + _originalBitmap = aGame.GameBitmap; } - else if (_category == ShortcutCategory.Game) + } + // If we can't find the game icon bitmap then we try the icons for the game libraries themselves + if (_originalBitmap == null) + { + if (_gameLibrary == SupportedGameLibraryType.Steam) { - logger.Trace($"ShortcutItem/ToBitmapOverlay: OriginalBitmap is null, so we'll try to make the BitmapOverlay using GameLibrary Icon."); - if (_gameLibrary == SupportedGameLibraryType.Steam) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the Steam icon as the icon instead."); - originalBitmap = Properties.Resources.Steam; - } - else if (_gameLibrary == SupportedGameLibraryType.Uplay) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the Uplay icon as the icon instead."); - originalBitmap = Properties.Resources.Uplay; - } - else if (_gameLibrary == SupportedGameLibraryType.Origin) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the Origin icon as the icon instead."); - originalBitmap = Properties.Resources.Origin; - } - else if (_gameLibrary == SupportedGameLibraryType.Epic) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the Epic icon as the icon instead."); - originalBitmap = Properties.Resources.Epic; - } - else if (_gameLibrary == SupportedGameLibraryType.GOG) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the GOG icon as the icon instead."); - originalBitmap = Properties.Resources.GOG; - } - else - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - originalBitmap = Properties.Resources.DisplayMagician.ToBitmap(); - } + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Steam icon as the icon instead."); + _originalBitmap = Properties.Resources.Steam; + } + else if (_gameLibrary == SupportedGameLibraryType.Uplay) + { + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Uplay icon as the icon instead."); + _originalBitmap = Properties.Resources.Uplay; + } + else if (_gameLibrary == SupportedGameLibraryType.Origin) + { + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Origin icon as the icon instead."); + _originalBitmap = Properties.Resources.Origin; + } + else if (_gameLibrary == SupportedGameLibraryType.Epic) + { + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Epic icon as the icon instead."); + _originalBitmap = Properties.Resources.Epic; + } + else if (_gameLibrary == SupportedGameLibraryType.GOG) + { + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the GOG icon as the icon instead."); + _originalBitmap = Properties.Resources.GOG; } else { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the profile icon as the icon instead."); - originalBitmap = _profileToUse.ProfileBitmap; + logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + _originalBitmap = Properties.Resources.DisplayMagician.ToBitmap(); } - } - if (overlayBitmap == null) + // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it + if (_userChoseOwnIcon) { - logger.Trace($"ShortcutItem/ToBitmapOverlay: overlayBitmap is null, so we'll just return the original bitmap without a profile overlay."); - return originalBitmap; + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_userIconBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); } - - if (width <= 0 || width > 256) + else { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Width is out of range so setting to 256."); - width = 256; + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); } - if (height <= 0 || height > 256) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Height is out of range so setting to 256."); - height = 256; - } - - return ImageUtils.ToBitmapOverlay(originalBitmap, overlayBitmap, width, height, format); - } -#pragma warning disable CS3002 // Return type is not CLS-compliant - public MultiIcon ToIconOverlay() -#pragma warning restore CS3002 // Return type is not CLS-compliant + public void SetBitmapsForExecutable() { - return ImageUtils.ToIconOverlay(_originalBitmap, ProfileToUse.ProfileTightestBitmap); + + if (_userChoseOwnIcon) + { + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the user set icon as the app icon instead (from {_userIconPath})."); + _userIconBitmap = ImageUtils.GetMeABitmapFromFile(_userIconPath); + } + + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the executable icon as the app icon instead from {_executableNameAndPath}."); + _originalBitmap = ImageUtils.GetMeABitmapFromFile(_executableNameAndPath); + + if (_originalBitmap == null) + { + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + _originalBitmap = ImageUtils.ToBitmapOverlay(Properties.Resources.DisplayMagician.ToBitmap(), _profileToUse.ProfileIcon.ToBitmap(), 256, 256); + } + + // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it + if (_userChoseOwnIcon) + { + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_userIconBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + } + else + { + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + } + } public void RefreshValidity() @@ -1485,7 +1502,7 @@ namespace DisplayMagician shortcutFileName = Path.ChangeExtension(shortcutFileName, @"lnk"); // And we use the Icon from the shortcutIconCache - SaveShortcutIconToCache(); + //SaveShortcutIconToCache(); shortcutIconFileName = SavedShortcutIconCacheFilename; // If the user supplied a file diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index b7a020a..df00db1 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -74,8 +74,10 @@ namespace DisplayMagician.UIForms this.flp_start_programs = new System.Windows.Forms.FlowLayoutPanel(); this.tabp_game = new System.Windows.Forms.TabPage(); this.btn_find_examples_game = new System.Windows.Forms.Button(); - this.lbl_no_game_libraries = new System.Windows.Forms.Label(); this.p_standalone = new System.Windows.Forms.Panel(); + this.btn_exe_use_different_icon = new System.Windows.Forms.Button(); + this.txt_exe_use_different_icon = new System.Windows.Forms.TextBox(); + this.cb_exe_use_different_icon = new System.Windows.Forms.CheckBox(); this.cbx_exe_priority = new System.Windows.Forms.ComboBox(); this.lbl_exe_priority = new System.Windows.Forms.Label(); this.btn_exe_to_start = new System.Windows.Forms.Button(); @@ -92,6 +94,10 @@ namespace DisplayMagician.UIForms this.rb_standalone = new System.Windows.Forms.RadioButton(); this.rb_no_game = new System.Windows.Forms.RadioButton(); this.p_game = new System.Windows.Forms.Panel(); + this.btn_game_use_different_icon = new System.Windows.Forms.Button(); + this.txt_game_use_different_icon = new System.Windows.Forms.TextBox(); + this.cb_game_use_different_icon = new System.Windows.Forms.CheckBox(); + this.lbl_no_game_libraries = new System.Windows.Forms.Label(); this.lbl_game_library = new System.Windows.Forms.Label(); this.cbx_game_priority = new System.Windows.Forms.ComboBox(); this.ilv_games = new Manina.Windows.Forms.ImageListView(); @@ -154,7 +160,7 @@ namespace DisplayMagician.UIForms this.btn_save.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_save.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_save.ForeColor = System.Drawing.Color.White; - this.btn_save.Location = new System.Drawing.Point(560, 806); + this.btn_save.Location = new System.Drawing.Point(560, 868); this.btn_save.Name = "btn_save"; this.btn_save.Size = new System.Drawing.Size(120, 40); this.btn_save.TabIndex = 6; @@ -170,7 +176,7 @@ namespace DisplayMagician.UIForms this.btn_cancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; this.btn_cancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_cancel.ForeColor = System.Drawing.Color.White; - this.btn_cancel.Location = new System.Drawing.Point(1008, 821); + this.btn_cancel.Location = new System.Drawing.Point(1008, 883); this.btn_cancel.Name = "btn_cancel"; this.btn_cancel.Size = new System.Drawing.Size(94, 25); this.btn_cancel.TabIndex = 5; @@ -209,7 +215,7 @@ namespace DisplayMagician.UIForms this.tabc_shortcut.Name = "tabc_shortcut"; this.tabc_shortcut.SelectedIndex = 0; this.tabc_shortcut.ShowToolTips = true; - this.tabc_shortcut.Size = new System.Drawing.Size(1090, 682); + this.tabc_shortcut.Size = new System.Drawing.Size(1090, 744); this.tabc_shortcut.TabIndex = 28; this.tabc_shortcut.Click += new System.EventHandler(this.tabc_shortcut_VisibleChanged); // @@ -226,7 +232,7 @@ namespace DisplayMagician.UIForms this.tabp_display.Location = new System.Drawing.Point(4, 32); this.tabp_display.Name = "tabp_display"; this.tabp_display.Padding = new System.Windows.Forms.Padding(3); - this.tabp_display.Size = new System.Drawing.Size(1082, 646); + this.tabp_display.Size = new System.Drawing.Size(1082, 708); this.tabp_display.TabIndex = 0; this.tabp_display.Text = "1. Choose Display Profile"; this.tabp_display.ToolTipText = "Choose which previously saved Display Profile you will use with this shortcut."; @@ -314,7 +320,7 @@ namespace DisplayMagician.UIForms this.tabp_audio.Location = new System.Drawing.Point(4, 32); this.tabp_audio.Name = "tabp_audio"; this.tabp_audio.Padding = new System.Windows.Forms.Padding(3); - this.tabp_audio.Size = new System.Drawing.Size(1082, 646); + this.tabp_audio.Size = new System.Drawing.Size(1082, 708); this.tabp_audio.TabIndex = 4; this.tabp_audio.Text = "2. Choose Audio"; // @@ -642,7 +648,7 @@ namespace DisplayMagician.UIForms this.tabp_before.Location = new System.Drawing.Point(4, 32); this.tabp_before.Name = "tabp_before"; this.tabp_before.Padding = new System.Windows.Forms.Padding(3); - this.tabp_before.Size = new System.Drawing.Size(1082, 646); + this.tabp_before.Size = new System.Drawing.Size(1082, 708); this.tabp_before.TabIndex = 1; this.tabp_before.Text = "3. Choose what happens before"; // @@ -654,7 +660,7 @@ namespace DisplayMagician.UIForms this.btn_find_examples_startprograms.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_find_examples_startprograms.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_find_examples_startprograms.ForeColor = System.Drawing.Color.White; - this.btn_find_examples_startprograms.Location = new System.Drawing.Point(953, 72); + this.btn_find_examples_startprograms.Location = new System.Drawing.Point(953, 134); this.btn_find_examples_startprograms.Name = "btn_find_examples_startprograms"; this.btn_find_examples_startprograms.Size = new System.Drawing.Size(117, 25); this.btn_find_examples_startprograms.TabIndex = 40; @@ -681,7 +687,7 @@ namespace DisplayMagician.UIForms this.btn_add_new_start_program.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_add_new_start_program.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_add_new_start_program.ForeColor = System.Drawing.Color.White; - this.btn_add_new_start_program.Location = new System.Drawing.Point(424, 61); + this.btn_add_new_start_program.Location = new System.Drawing.Point(424, 123); this.btn_add_new_start_program.Name = "btn_add_new_start_program"; this.btn_add_new_start_program.Size = new System.Drawing.Size(235, 40); this.btn_add_new_start_program.TabIndex = 38; @@ -697,7 +703,7 @@ namespace DisplayMagician.UIForms this.flp_start_programs.AutoScrollMinSize = new System.Drawing.Size(5, 0); this.flp_start_programs.BackColor = System.Drawing.Color.White; this.flp_start_programs.Dock = System.Windows.Forms.DockStyle.Bottom; - this.flp_start_programs.Location = new System.Drawing.Point(3, 135); + this.flp_start_programs.Location = new System.Drawing.Point(3, 197); this.flp_start_programs.Name = "flp_start_programs"; this.flp_start_programs.Size = new System.Drawing.Size(1076, 508); this.flp_start_programs.TabIndex = 0; @@ -706,7 +712,6 @@ namespace DisplayMagician.UIForms // this.tabp_game.BackColor = System.Drawing.Color.Black; this.tabp_game.Controls.Add(this.btn_find_examples_game); - this.tabp_game.Controls.Add(this.lbl_no_game_libraries); this.tabp_game.Controls.Add(this.p_standalone); this.tabp_game.Controls.Add(this.rb_standalone); this.tabp_game.Controls.Add(this.rb_no_game); @@ -717,19 +722,19 @@ namespace DisplayMagician.UIForms this.tabp_game.Location = new System.Drawing.Point(4, 32); this.tabp_game.Name = "tabp_game"; this.tabp_game.Padding = new System.Windows.Forms.Padding(3); - this.tabp_game.Size = new System.Drawing.Size(1082, 646); + this.tabp_game.Size = new System.Drawing.Size(1082, 708); this.tabp_game.TabIndex = 2; this.tabp_game.Text = "4. Choose Game to start"; // // btn_find_examples_game // - this.btn_find_examples_game.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btn_find_examples_game.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btn_find_examples_game.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; this.btn_find_examples_game.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; this.btn_find_examples_game.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_find_examples_game.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_find_examples_game.ForeColor = System.Drawing.Color.White; - this.btn_find_examples_game.Location = new System.Drawing.Point(953, 45); + this.btn_find_examples_game.Location = new System.Drawing.Point(924, 19); this.btn_find_examples_game.Name = "btn_find_examples_game"; this.btn_find_examples_game.Size = new System.Drawing.Size(117, 25); this.btn_find_examples_game.TabIndex = 41; @@ -737,26 +742,11 @@ namespace DisplayMagician.UIForms this.btn_find_examples_game.UseVisualStyleBackColor = true; this.btn_find_examples_game.Click += new System.EventHandler(this.btn_find_examples_game_Click); // - // lbl_no_game_libraries - // - this.lbl_no_game_libraries.Anchor = System.Windows.Forms.AnchorStyles.None; - this.lbl_no_game_libraries.AutoSize = true; - this.lbl_no_game_libraries.BackColor = System.Drawing.Color.Brown; - this.lbl_no_game_libraries.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lbl_no_game_libraries.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); - this.lbl_no_game_libraries.ForeColor = System.Drawing.Color.White; - this.lbl_no_game_libraries.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_game_libraries.Location = new System.Drawing.Point(255, 281); - this.lbl_no_game_libraries.Name = "lbl_no_game_libraries"; - this.lbl_no_game_libraries.Size = new System.Drawing.Size(613, 22); - this.lbl_no_game_libraries.TabIndex = 34; - this.lbl_no_game_libraries.Text = "No supported game libraries detected! (Steam, Origin, Uplay, Epic or GOG supporte" + - "d)"; - this.lbl_no_game_libraries.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.lbl_no_game_libraries.Visible = false; - // // p_standalone // + this.p_standalone.Controls.Add(this.btn_exe_use_different_icon); + this.p_standalone.Controls.Add(this.txt_exe_use_different_icon); + this.p_standalone.Controls.Add(this.cb_exe_use_different_icon); this.p_standalone.Controls.Add(this.cbx_exe_priority); this.p_standalone.Controls.Add(this.lbl_exe_priority); this.p_standalone.Controls.Add(this.btn_exe_to_start); @@ -773,9 +763,42 @@ namespace DisplayMagician.UIForms this.p_standalone.Enabled = false; this.p_standalone.Location = new System.Drawing.Point(35, 86); this.p_standalone.Name = "p_standalone"; - this.p_standalone.Size = new System.Drawing.Size(1006, 160); + this.p_standalone.Size = new System.Drawing.Size(1006, 201); this.p_standalone.TabIndex = 10; // + // btn_exe_use_different_icon + // + this.btn_exe_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_exe_use_different_icon.ForeColor = System.Drawing.Color.White; + this.btn_exe_use_different_icon.Location = new System.Drawing.Point(880, 159); + this.btn_exe_use_different_icon.Name = "btn_exe_use_different_icon"; + this.btn_exe_use_different_icon.Size = new System.Drawing.Size(85, 27); + this.btn_exe_use_different_icon.TabIndex = 34; + this.btn_exe_use_different_icon.Text = "Choose"; + this.btn_exe_use_different_icon.UseVisualStyleBackColor = true; + this.btn_exe_use_different_icon.Click += new System.EventHandler(this.btn_exe_use_different_icon_Click); + // + // txt_exe_use_different_icon + // + this.txt_exe_use_different_icon.Enabled = false; + this.txt_exe_use_different_icon.Location = new System.Drawing.Point(425, 160); + this.txt_exe_use_different_icon.Name = "txt_exe_use_different_icon"; + this.txt_exe_use_different_icon.Size = new System.Drawing.Size(449, 26); + this.txt_exe_use_different_icon.TabIndex = 33; + // + // cb_exe_use_different_icon + // + this.cb_exe_use_different_icon.AutoSize = true; + this.cb_exe_use_different_icon.ForeColor = System.Drawing.Color.White; + this.cb_exe_use_different_icon.Location = new System.Drawing.Point(171, 162); + this.cb_exe_use_different_icon.Name = "cb_exe_use_different_icon"; + this.cb_exe_use_different_icon.Size = new System.Drawing.Size(232, 24); + this.cb_exe_use_different_icon.TabIndex = 32; + this.cb_exe_use_different_icon.Text = "Use a different shortcut icon:"; + this.cb_exe_use_different_icon.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.cb_exe_use_different_icon.UseVisualStyleBackColor = true; + this.cb_exe_use_different_icon.CheckedChanged += new System.EventHandler(this.cb_exe_use_different_icon_CheckedChanged); + // // cbx_exe_priority // this.cbx_exe_priority.AllowDrop = true; @@ -953,6 +976,10 @@ namespace DisplayMagician.UIForms // // p_game // + this.p_game.Controls.Add(this.btn_game_use_different_icon); + this.p_game.Controls.Add(this.txt_game_use_different_icon); + this.p_game.Controls.Add(this.cb_game_use_different_icon); + this.p_game.Controls.Add(this.lbl_no_game_libraries); this.p_game.Controls.Add(this.lbl_game_library); this.p_game.Controls.Add(this.cbx_game_priority); this.p_game.Controls.Add(this.ilv_games); @@ -967,19 +994,70 @@ namespace DisplayMagician.UIForms this.p_game.Controls.Add(this.lbl_game_timeout); this.p_game.Controls.Add(this.nud_timeout_game); this.p_game.Dock = System.Windows.Forms.DockStyle.Bottom; - this.p_game.Location = new System.Drawing.Point(3, 292); + this.p_game.Location = new System.Drawing.Point(3, 339); this.p_game.Name = "p_game"; - this.p_game.Size = new System.Drawing.Size(1076, 351); + this.p_game.Size = new System.Drawing.Size(1076, 366); this.p_game.TabIndex = 7; // + // btn_game_use_different_icon + // + this.btn_game_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_game_use_different_icon.ForeColor = System.Drawing.Color.White; + this.btn_game_use_different_icon.Location = new System.Drawing.Point(912, 121); + this.btn_game_use_different_icon.Name = "btn_game_use_different_icon"; + this.btn_game_use_different_icon.Size = new System.Drawing.Size(85, 27); + this.btn_game_use_different_icon.TabIndex = 37; + this.btn_game_use_different_icon.Text = "Choose"; + this.btn_game_use_different_icon.UseVisualStyleBackColor = true; + this.btn_game_use_different_icon.Click += new System.EventHandler(this.btn_game_use_different_icon_Click); + // + // txt_game_use_different_icon + // + this.txt_game_use_different_icon.Enabled = false; + this.txt_game_use_different_icon.Location = new System.Drawing.Point(399, 122); + this.txt_game_use_different_icon.Name = "txt_game_use_different_icon"; + this.txt_game_use_different_icon.Size = new System.Drawing.Size(507, 26); + this.txt_game_use_different_icon.TabIndex = 36; + // + // cb_game_use_different_icon + // + this.cb_game_use_different_icon.AutoSize = true; + this.cb_game_use_different_icon.ForeColor = System.Drawing.Color.White; + this.cb_game_use_different_icon.Location = new System.Drawing.Point(165, 124); + this.cb_game_use_different_icon.Name = "cb_game_use_different_icon"; + this.cb_game_use_different_icon.Size = new System.Drawing.Size(232, 24); + this.cb_game_use_different_icon.TabIndex = 35; + this.cb_game_use_different_icon.Text = "Use a different shortcut icon:"; + this.cb_game_use_different_icon.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.cb_game_use_different_icon.UseVisualStyleBackColor = true; + this.cb_game_use_different_icon.CheckedChanged += new System.EventHandler(this.cb_game_use_different_icon_CheckedChanged); + // + // lbl_no_game_libraries + // + this.lbl_no_game_libraries.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lbl_no_game_libraries.AutoSize = true; + this.lbl_no_game_libraries.BackColor = System.Drawing.Color.Brown; + this.lbl_no_game_libraries.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbl_no_game_libraries.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); + this.lbl_no_game_libraries.ForeColor = System.Drawing.Color.White; + this.lbl_no_game_libraries.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.lbl_no_game_libraries.Location = new System.Drawing.Point(266, 176); + this.lbl_no_game_libraries.Name = "lbl_no_game_libraries"; + this.lbl_no_game_libraries.Size = new System.Drawing.Size(613, 22); + this.lbl_no_game_libraries.TabIndex = 34; + this.lbl_no_game_libraries.Text = "No supported game libraries detected! (Steam, Origin, Uplay, Epic or GOG supporte" + + "d)"; + this.lbl_no_game_libraries.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_no_game_libraries.Visible = false; + // // lbl_game_library // this.lbl_game_library.Anchor = System.Windows.Forms.AnchorStyles.None; this.lbl_game_library.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_game_library.ForeColor = System.Drawing.Color.White; - this.lbl_game_library.Location = new System.Drawing.Point(389, 40); + this.lbl_game_library.Location = new System.Drawing.Point(22, 40); this.lbl_game_library.Name = "lbl_game_library"; - this.lbl_game_library.Size = new System.Drawing.Size(145, 16); + this.lbl_game_library.Size = new System.Drawing.Size(127, 22); this.lbl_game_library.TabIndex = 30; this.lbl_game_library.Text = "Game Library:"; this.lbl_game_library.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -989,7 +1067,7 @@ namespace DisplayMagician.UIForms this.cbx_game_priority.AllowDrop = true; this.cbx_game_priority.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cbx_game_priority.FormattingEnabled = true; - this.cbx_game_priority.Location = new System.Drawing.Point(150, 47); + this.cbx_game_priority.Location = new System.Drawing.Point(679, 11); this.cbx_game_priority.Name = "cbx_game_priority"; this.cbx_game_priority.Size = new System.Drawing.Size(164, 28); this.cbx_game_priority.TabIndex = 29; @@ -1000,11 +1078,11 @@ namespace DisplayMagician.UIForms | System.Windows.Forms.AnchorStyles.Right))); this.ilv_games.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.ilv_games.IntegralScroll = true; - this.ilv_games.Location = new System.Drawing.Point(0, 125); + this.ilv_games.Location = new System.Drawing.Point(0, 164); this.ilv_games.Name = "ilv_games"; this.ilv_games.PersistentCacheDirectory = ""; this.ilv_games.PersistentCacheSize = ((long)(100)); - this.ilv_games.Size = new System.Drawing.Size(1076, 226); + this.ilv_games.Size = new System.Drawing.Size(1076, 202); this.ilv_games.SortOrder = Manina.Windows.Forms.SortOrder.Ascending; this.ilv_games.TabIndex = 28; this.ilv_games.UseWIC = true; @@ -1013,7 +1091,7 @@ namespace DisplayMagician.UIForms // cb_wait_alternative_game // this.cb_wait_alternative_game.AutoSize = true; - this.cb_wait_alternative_game.Location = new System.Drawing.Point(25, 85); + this.cb_wait_alternative_game.Location = new System.Drawing.Point(165, 87); this.cb_wait_alternative_game.Name = "cb_wait_alternative_game"; this.cb_wait_alternative_game.Size = new System.Drawing.Size(229, 24); this.cb_wait_alternative_game.TabIndex = 27; @@ -1026,7 +1104,7 @@ namespace DisplayMagician.UIForms this.btn_choose_alternative_game.Enabled = false; this.btn_choose_alternative_game.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_choose_alternative_game.ForeColor = System.Drawing.Color.White; - this.btn_choose_alternative_game.Location = new System.Drawing.Point(453, 85); + this.btn_choose_alternative_game.Location = new System.Drawing.Point(912, 85); this.btn_choose_alternative_game.Name = "btn_choose_alternative_game"; this.btn_choose_alternative_game.Size = new System.Drawing.Size(85, 27); this.btn_choose_alternative_game.TabIndex = 26; @@ -1037,9 +1115,9 @@ namespace DisplayMagician.UIForms // txt_alternative_game // this.txt_alternative_game.Enabled = false; - this.txt_alternative_game.Location = new System.Drawing.Point(258, 86); + this.txt_alternative_game.Location = new System.Drawing.Point(399, 85); this.txt_alternative_game.Name = "txt_alternative_game"; - this.txt_alternative_game.Size = new System.Drawing.Size(193, 26); + this.txt_alternative_game.Size = new System.Drawing.Size(507, 26); this.txt_alternative_game.TabIndex = 24; // // txt_game_name @@ -1054,7 +1132,7 @@ namespace DisplayMagician.UIForms // this.lbl_game_priority.AutoSize = true; this.lbl_game_priority.ForeColor = System.Drawing.Color.White; - this.lbl_game_priority.Location = new System.Drawing.Point(41, 50); + this.lbl_game_priority.Location = new System.Drawing.Point(570, 14); this.lbl_game_priority.Name = "lbl_game_priority"; this.lbl_game_priority.Size = new System.Drawing.Size(108, 20); this.lbl_game_priority.TabIndex = 18; @@ -1076,16 +1154,16 @@ namespace DisplayMagician.UIForms // txt_args_game // this.txt_args_game.Enabled = false; - this.txt_args_game.Location = new System.Drawing.Point(788, 11); + this.txt_args_game.Location = new System.Drawing.Point(399, 48); this.txt_args_game.Name = "txt_args_game"; - this.txt_args_game.Size = new System.Drawing.Size(279, 26); + this.txt_args_game.Size = new System.Drawing.Size(667, 26); this.txt_args_game.TabIndex = 13; // // cb_args_game // this.cb_args_game.AutoSize = true; this.cb_args_game.ForeColor = System.Drawing.Color.White; - this.cb_args_game.Location = new System.Drawing.Point(555, 13); + this.cb_args_game.Location = new System.Drawing.Point(166, 50); this.cb_args_game.Name = "cb_args_game"; this.cb_args_game.Size = new System.Drawing.Size(213, 24); this.cb_args_game.TabIndex = 12; @@ -1099,7 +1177,7 @@ namespace DisplayMagician.UIForms // this.lbl_game_timeout.AutoSize = true; this.lbl_game_timeout.ForeColor = System.Drawing.Color.White; - this.lbl_game_timeout.Location = new System.Drawing.Point(656, 51); + this.lbl_game_timeout.Location = new System.Drawing.Point(881, 14); this.lbl_game_timeout.Name = "lbl_game_timeout"; this.lbl_game_timeout.Size = new System.Drawing.Size(125, 20); this.lbl_game_timeout.TabIndex = 4; @@ -1108,7 +1186,7 @@ namespace DisplayMagician.UIForms // // nud_timeout_game // - this.nud_timeout_game.Location = new System.Drawing.Point(787, 50); + this.nud_timeout_game.Location = new System.Drawing.Point(1012, 13); this.nud_timeout_game.Maximum = new decimal(new int[] { 240, 0, @@ -1128,7 +1206,7 @@ namespace DisplayMagician.UIForms this.rb_launcher.AutoSize = true; this.rb_launcher.Checked = true; this.rb_launcher.ForeColor = System.Drawing.Color.White; - this.rb_launcher.Location = new System.Drawing.Point(15, 262); + this.rb_launcher.Location = new System.Drawing.Point(15, 309); this.rb_launcher.Name = "rb_launcher"; this.rb_launcher.Size = new System.Drawing.Size(466, 24); this.rb_launcher.TabIndex = 6; @@ -1148,7 +1226,7 @@ namespace DisplayMagician.UIForms this.tabp_after.Location = new System.Drawing.Point(4, 32); this.tabp_after.Name = "tabp_after"; this.tabp_after.Padding = new System.Windows.Forms.Padding(3); - this.tabp_after.Size = new System.Drawing.Size(1082, 646); + this.tabp_after.Size = new System.Drawing.Size(1082, 708); this.tabp_after.TabIndex = 3; this.tabp_after.Text = "5. Choose what happens afterwards"; // @@ -1274,7 +1352,7 @@ namespace DisplayMagician.UIForms this.txt_shortcut_save_name.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.txt_shortcut_save_name.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txt_shortcut_save_name.Location = new System.Drawing.Point(207, 759); + this.txt_shortcut_save_name.Location = new System.Drawing.Point(207, 821); this.txt_shortcut_save_name.MaxLength = 200; this.txt_shortcut_save_name.Name = "txt_shortcut_save_name"; this.txt_shortcut_save_name.Size = new System.Drawing.Size(744, 35); @@ -1300,7 +1378,7 @@ namespace DisplayMagician.UIForms this.lbl_shortcut_name.AutoSize = true; this.lbl_shortcut_name.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_shortcut_name.ForeColor = System.Drawing.Color.Transparent; - this.lbl_shortcut_name.Location = new System.Drawing.Point(23, 762); + this.lbl_shortcut_name.Location = new System.Drawing.Point(23, 824); this.lbl_shortcut_name.Name = "lbl_shortcut_name"; this.lbl_shortcut_name.Size = new System.Drawing.Size(178, 29); this.lbl_shortcut_name.TabIndex = 31; @@ -1314,7 +1392,7 @@ namespace DisplayMagician.UIForms this.cb_autosuggest.Checked = true; this.cb_autosuggest.CheckState = System.Windows.Forms.CheckState.Checked; this.cb_autosuggest.ForeColor = System.Drawing.Color.White; - this.cb_autosuggest.Location = new System.Drawing.Point(969, 768); + this.cb_autosuggest.Location = new System.Drawing.Point(969, 830); this.cb_autosuggest.Name = "cb_autosuggest"; this.cb_autosuggest.Size = new System.Drawing.Size(117, 17); this.cb_autosuggest.TabIndex = 32; @@ -1331,7 +1409,7 @@ namespace DisplayMagician.UIForms this.btn_hotkey.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_hotkey.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_hotkey.ForeColor = System.Drawing.Color.White; - this.btn_hotkey.Location = new System.Drawing.Point(434, 806); + this.btn_hotkey.Location = new System.Drawing.Point(434, 868); this.btn_hotkey.Name = "btn_hotkey"; this.btn_hotkey.Size = new System.Drawing.Size(120, 40); this.btn_hotkey.TabIndex = 36; @@ -1341,11 +1419,12 @@ namespace DisplayMagician.UIForms // // lbl_hotkey_assigned // + this.lbl_hotkey_assigned.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.lbl_hotkey_assigned.AutoSize = true; this.lbl_hotkey_assigned.BackColor = System.Drawing.Color.Transparent; this.lbl_hotkey_assigned.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_hotkey_assigned.ForeColor = System.Drawing.Color.White; - this.lbl_hotkey_assigned.Location = new System.Drawing.Point(26, 793); + this.lbl_hotkey_assigned.Location = new System.Drawing.Point(26, 884); this.lbl_hotkey_assigned.Name = "lbl_hotkey_assigned"; this.lbl_hotkey_assigned.Size = new System.Drawing.Size(57, 16); this.lbl_hotkey_assigned.TabIndex = 37; @@ -1360,7 +1439,7 @@ namespace DisplayMagician.UIForms this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.CancelButton = this.btn_cancel; - this.ClientSize = new System.Drawing.Size(1114, 858); + this.ClientSize = new System.Drawing.Size(1114, 920); this.Controls.Add(this.lbl_hotkey_assigned); this.Controls.Add(this.btn_hotkey); this.Controls.Add(this.cb_autosuggest); @@ -1508,5 +1587,11 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.ComboBox cbx_game_priority; private System.Windows.Forms.Label lbl_game_priority; private System.Windows.Forms.PictureBox pbLogo; + private System.Windows.Forms.Button btn_exe_use_different_icon; + private System.Windows.Forms.TextBox txt_exe_use_different_icon; + private System.Windows.Forms.CheckBox cb_exe_use_different_icon; + private System.Windows.Forms.Button btn_game_use_different_icon; + private System.Windows.Forms.TextBox txt_game_use_different_icon; + private System.Windows.Forms.CheckBox cb_game_use_different_icon; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 8b37148..0607280 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -57,6 +57,11 @@ namespace DisplayMagician.UIForms private List captureDevices = null; private CoreAudioDevice selectedCaptureDevice = null; private Keys _hotkey = Keys.None; + private bool _userChoseOwnGameIcon = false; + private string _userGameIconPath = ""; + private bool _userChoseOwnExeIcon = false; + private string _userExeIconPath = ""; + private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public ShortcutForm(ShortcutItem shortcutToEdit) @@ -294,6 +299,16 @@ namespace DisplayMagician.UIForms return; } + if (cb_exe_use_different_icon.Checked && !File.Exists(txt_exe_use_different_icon.Text)) + { + MessageBox.Show( + @"The different icon you've chosen for this executable shortcut does not exist! Please a different executable or icon to use as an icon.", + @"Different icon doesn't exist", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + return; + } + } else if (rb_launcher.Checked) { @@ -359,6 +374,16 @@ namespace DisplayMagician.UIForms return; } + if (cb_game_use_different_icon.Checked && !File.Exists(txt_game_use_different_icon.Text)) + { + MessageBox.Show( + @"The different icon you've chosen for this game shortcut does not exist! Please a different executable or icon to use as an icon.", + @"Different icon doesn't exist", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + return; + } + } @@ -540,6 +565,18 @@ namespace DisplayMagician.UIForms _gameToUse.GameToPlay = (from gogGame in GogLibrary.GetLibrary().AllInstalledGames where gogGame.Id == _gameId select gogGame).First(); } + // Now set the alternative icon if needed + if (cb_game_use_different_icon.Checked) + { + _userChoseOwnGameIcon = true; + _userGameIconPath = txt_game_use_different_icon.Text; + } + else + { + _userChoseOwnGameIcon = false; + _userGameIconPath = ""; + } + try { _shortcutToEdit.UpdateGameShortcut( @@ -550,6 +587,8 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _gameToUse.GameToPlay.IconPath, + _userChoseOwnGameIcon, + _userGameIconPath, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -574,6 +613,8 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _gameToUse.GameToPlay.IconPath, + _userChoseOwnGameIcon, + _userGameIconPath, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -612,6 +653,18 @@ namespace DisplayMagician.UIForms _executableToUse.ProcessNameToMonitorUsesExecutable = true; } + // Now set the alternative icon if needed + if (cb_exe_use_different_icon.Checked) + { + _userChoseOwnExeIcon = true; + _userExeIconPath = txt_exe_use_different_icon.Text; + } + else + { + _userChoseOwnExeIcon = false; + _userExeIconPath = ""; + } + try { _shortcutToEdit.UpdateExecutableShortcut( @@ -622,6 +675,8 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _executableToUse.ExecutableNameAndPath, + _userChoseOwnExeIcon, + _userExeIconPath, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -2437,6 +2492,86 @@ namespace DisplayMagician.UIForms return lightBitmap; } } + + private void cb_game_use_different_icon_CheckedChanged(object sender, EventArgs e) + { + if (_loadedShortcut) + _isUnsaved = true; + + if (cb_game_use_different_icon.Checked) + { + txt_game_use_different_icon.Enabled = true; + btn_game_use_different_icon.Enabled = true; + } + else + { + txt_game_use_different_icon.Enabled = false; + btn_game_use_different_icon.Enabled = false; + } + } + + private void cb_exe_use_different_icon_CheckedChanged(object sender, EventArgs e) + { + if (_loadedShortcut) + _isUnsaved = true; + + if (cb_exe_use_different_icon.Checked) + { + txt_exe_use_different_icon.Enabled = true; + btn_exe_use_different_icon.Enabled = true; + } + else + { + txt_exe_use_different_icon.Enabled = false; + btn_exe_use_different_icon.Enabled = false; + } + } + + private void btn_game_use_different_icon_Click(object sender, EventArgs e) + { + if (dialog_open.ShowDialog(this) == DialogResult.OK) + { + if (_loadedShortcut) + _isUnsaved = true; + string fileExt = Path.GetExtension(dialog_open.FileName); + if (File.Exists(dialog_open.FileName) && (fileExt == @".exe" || fileExt == @".com" || fileExt == @".ico")) + { + txt_game_use_different_icon.Text = dialog_open.FileName; + dialog_open.FileName = string.Empty; + } + else + { + MessageBox.Show( + "You need to select either an executable or an icon file.", + "Select Exe or Icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } + } + } + + private void btn_exe_use_different_icon_Click(object sender, EventArgs e) + { + if (dialog_open.ShowDialog(this) == DialogResult.OK) + { + if (_loadedShortcut) + _isUnsaved = true; + string fileExt = Path.GetExtension(dialog_open.FileName); + if (File.Exists(dialog_open.FileName) && (fileExt == @".exe" || fileExt == @".com" || fileExt == @".ico")) + { + txt_exe_use_different_icon.Text = dialog_open.FileName; + dialog_open.FileName = string.Empty; + } + else + { + MessageBox.Show( + "You need to select either an executable or an icon file.", + "Select Exe or Icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } + } + } } // Class used to populate combo boxes From bd0f3484bb00e4d990137c77049089c4d7946174 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 1 Nov 2021 21:20:22 +1300 Subject: [PATCH 074/112] Working user added icons --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- .../UIForms/ShortcutForm.Designer.cs | 2 ++ DisplayMagician/UIForms/ShortcutForm.cs | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 9f60421..282977e 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.79")] -[assembly: AssemblyFileVersion("2.1.0.79")] +[assembly: AssemblyVersion("2.1.0.83")] +[assembly: AssemblyFileVersion("2.1.0.83")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index df00db1..b9cea74 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -768,6 +768,7 @@ namespace DisplayMagician.UIForms // // btn_exe_use_different_icon // + this.btn_exe_use_different_icon.Enabled = false; this.btn_exe_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_exe_use_different_icon.ForeColor = System.Drawing.Color.White; this.btn_exe_use_different_icon.Location = new System.Drawing.Point(880, 159); @@ -1001,6 +1002,7 @@ namespace DisplayMagician.UIForms // // btn_game_use_different_icon // + this.btn_game_use_different_icon.Enabled = false; this.btn_game_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_game_use_different_icon.ForeColor = System.Drawing.Color.White; this.btn_game_use_different_icon.Location = new System.Drawing.Point(912, 121); diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 0607280..20835d1 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1546,6 +1546,9 @@ namespace DisplayMagician.UIForms private void btn_choose_alternative_executable_Click(object sender, EventArgs e) { + dialog_open.InitialDirectory = Path.GetDirectoryName(_executableToUse.ExecutableNameAndPath); + dialog_open.DefaultExt = "*.exe"; + dialog_open.Filter = "exe files (*.exe;*.com) | *.exe;*.com | All files(*.*) | *.*"; if (dialog_open.ShowDialog(this) == DialogResult.OK) { if (_loadedShortcut) @@ -1814,6 +1817,9 @@ namespace DisplayMagician.UIForms private string getExeFile() { + dialog_open.InitialDirectory = Environment.SpecialFolder.ProgramFiles.ToString(); + dialog_open.DefaultExt = "*.exe"; + dialog_open.Filter = "exe files (*.exe;*.com) | *.exe;*.com | All files(*.*) | *.*"; string textToReturn = ""; if (dialog_open.ShowDialog(this) == DialogResult.OK) { @@ -2224,6 +2230,19 @@ namespace DisplayMagician.UIForms private void btn_choose_alternative_game_Click(object sender, EventArgs e) { + string gamePath = ""; + foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) + { + if (game.Name == txt_game_name.Text) + { + gamePath = game.Directory; + break; + } + } + + dialog_open.InitialDirectory = gamePath; + dialog_open.DefaultExt = "*.exe"; + dialog_open.Filter = "exe files (*.exe;*.com) | *.exe;*.com | All files(*.*) | *.*"; if (dialog_open.ShowDialog(this) == DialogResult.OK) { if (_loadedShortcut) @@ -2529,6 +2548,19 @@ namespace DisplayMagician.UIForms private void btn_game_use_different_icon_Click(object sender, EventArgs e) { + string gamePath = ""; + foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) + { + if (game.Name == txt_game_name.Text) + { + gamePath = game.Directory; + break; + } + } + + dialog_open.InitialDirectory = gamePath; + dialog_open.DefaultExt = "*.exe"; + dialog_open.Filter = "exe or icon files (*.exe;*.com;*.ico) | *.exe;*.com;*.ico | All files(*.*) | *.*"; if (dialog_open.ShowDialog(this) == DialogResult.OK) { if (_loadedShortcut) @@ -2552,6 +2584,9 @@ namespace DisplayMagician.UIForms private void btn_exe_use_different_icon_Click(object sender, EventArgs e) { + dialog_open.InitialDirectory = Path.GetDirectoryName(_executableToUse.ExecutableNameAndPath); + dialog_open.DefaultExt = "*.exe"; + dialog_open.Filter = "exe or icon files (*.exe;*.com;*.ico) | *.exe;*.com;*.ico | All files(*.*) | *.*"; if (dialog_open.ShowDialog(this) == DialogResult.OK) { if (_loadedShortcut) From e3d78d3dc17cf4e39d9cc7c5ec3e664a8a98575e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 1 Nov 2021 21:48:40 +1300 Subject: [PATCH 075/112] Fixed saving shortcut icon --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 53 +++++++++------------- 2 files changed, 24 insertions(+), 33 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 282977e..8487dd3 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.83")] -[assembly: AssemblyFileVersion("2.1.0.83")] +[assembly: AssemblyVersion("2.1.0.89")] +[assembly: AssemblyFileVersion("2.1.0.89")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 6f871b5..dfefe58 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -1006,30 +1006,21 @@ namespace DisplayMagician public void ReplaceShortcutIconInCache() { - string newShortcutIconFilename; - // Work out the name of the shortcut we'll save. - newShortcutIconFilename = Path.Combine(Program.AppShortcutPath, $"{UUID}.ico"); - logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: New shortcut Icon filename is {newShortcutIconFilename}."); - - // If the new shortcut icon should be named differently - // then change the name of it - if (!newShortcutIconFilename.Equals(_savedShortcutIconCacheFilename)) + // Figure out if we need to remove the old file + if (_savedShortcutIconCacheFilename != null) { - logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: New shortcut Icon filename {newShortcutIconFilename} is different to the old shortcut Icon filename {_savedShortcutIconCacheFilename}."); - if (System.IO.File.Exists(_savedShortcutIconCacheFilename)) + // Work out the name of the shortcut we'll save. + string oldShortcutIconFilename = _savedShortcutIconCacheFilename; + logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: Old shortcut Icon filename is {oldShortcutIconFilename}."); + if (System.IO.File.Exists(oldShortcutIconFilename)) { - logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: Deleting old shortcut Icon filename {_savedShortcutIconCacheFilename}."); - System.IO.File.Delete(_savedShortcutIconCacheFilename); + logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: Deleting old shortcut Icon filename {oldShortcutIconFilename}."); + System.IO.File.Delete(oldShortcutIconFilename); } - logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: Creating the new shortcut Icon filename {newShortcutIconFilename} (calling SaveShortcutIconToCache)."); - SaveShortcutIconToCache(); } - else - { - logger.Trace($"ShortcutItem/ReplaceShortcutIconInCache: New shortcut Icon filename {newShortcutIconFilename} matches old shortcut Icon filename {_savedShortcutIconCacheFilename} so skipping the rename."); - } - + // Now we save the new file + SaveShortcutIconToCache(); } @@ -1039,29 +1030,29 @@ namespace DisplayMagician // Work out the name of the shortcut we'll save. _savedShortcutIconCacheFilename = Path.Combine(Program.AppShortcutPath, $"{UUID}.ico"); logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Planning on saving shortcut icon to cache as {_savedShortcutIconCacheFilename}."); - Icon shortcutIcon; + MultiIcon shortcutIcon = new MultiIcon(); try { logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Creating Icon from Shortcut bitmap."); - // Get an Hicon for the shortcutBitmap - IntPtr Hicon = _shortcutBitmap.GetHicon(); - // Create a new icon from the handle. - shortcutIcon = Icon.FromHandle(Hicon); + // Create a new + SingleIcon si = shortcutIcon.Add("icon"); + si.Add(_shortcutBitmap); + shortcutIcon.SelectedIndex = 0; logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving shortcut icon to cache with {_savedShortcutIconCacheFilename} as the name."); - using (FileStream fs = new FileStream(_savedShortcutIconCacheFilename, FileMode.Create)) - shortcutIcon.Save(fs); - + shortcutIcon.Save(_savedShortcutIconCacheFilename, MultiIconFormat.ICO); + } catch (Exception ex) { logger.Warn(ex, $"ShortcutItem/SaveShortcutIconToCache: Exception while trying to save the Shortcut icon."); - + shortcutIcon.Clear(); // If we fail to create an icon any other way, then we use the default profile icon logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Using the Display Profile icon for {_profileToUse.Name} as the icon instead."); - shortcutIcon = Properties.Resources.DisplayMagician; + SingleIcon si = shortcutIcon.Add("icon2"); + si.Add(Properties.Resources.DisplayMagician); + shortcutIcon.SelectedIndex = 0; logger.Trace($"ShortcutItem/SaveShortcutIconToCache: Saving the Display Profile icon for {_profileToUse.Name} to {_savedShortcutIconCacheFilename}."); - using (FileStream fs = new FileStream(_savedShortcutIconCacheFilename, FileMode.Create)) - shortcutIcon.Save(fs); + shortcutIcon.Save(_savedShortcutIconCacheFilename, MultiIconFormat.ICO); } } From 19a2caa1886cecc7ab3c865253bad078cc6d97ec Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 1 Nov 2021 22:02:50 +1300 Subject: [PATCH 076/112] Fully working manu icon override --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagician/ShortcutItem.cs | 6 ++--- DisplayMagician/UIForms/ShortcutForm.cs | 30 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 8487dd3..18a755c 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.89")] -[assembly: AssemblyFileVersion("2.1.0.89")] +[assembly: AssemblyVersion("2.1.0.91")] +[assembly: AssemblyFileVersion("2.1.0.91")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index dfefe58..b58fed4 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -131,9 +131,9 @@ namespace DisplayMagician private Bitmap _shortcutBitmap, _originalBitmap; [JsonIgnore] #pragma warning disable CS3008 // Identifier is not CLS-compliant - public string _originalIconPath; - public bool _userChoseOwnIcon = false; - public string _userIconPath; + private string _originalIconPath; + private bool _userChoseOwnIcon = false; + private string _userIconPath; private Bitmap _userIconBitmap; [JsonIgnore] public string _savedShortcutIconCacheFilename; diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 20835d1..b640dba 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1388,6 +1388,36 @@ namespace DisplayMagician.UIForms // Set the shortcut name txt_shortcut_save_name.Text = _shortcutToEdit.Name; + if (_shortcutToEdit.Category == ShortcutCategory.Game) + { + _userGameIconPath = _shortcutToEdit.UserIconPath; + txt_game_use_different_icon.Text = _userGameIconPath; + _userChoseOwnGameIcon = _shortcutToEdit.UserChoseOwnIcon; + if (_shortcutToEdit.UserChoseOwnIcon) + { + cb_game_use_different_icon.Checked = true; + } + else + { + cb_game_use_different_icon.Checked = false; + } + } + else if (_shortcutToEdit.Category == ShortcutCategory.Application) + { + _userExeIconPath = _shortcutToEdit.UserIconPath; + txt_exe_use_different_icon.Text = _userExeIconPath; + _userChoseOwnExeIcon = _shortcutToEdit.UserChoseOwnIcon; + if (_shortcutToEdit.UserChoseOwnIcon) + { + cb_exe_use_different_icon.Checked = true; + } + else + { + cb_exe_use_different_icon.Checked = false; + } + } + + // Set up the start programs if (_shortcutToEdit.StartPrograms is List && _shortcutToEdit.StartPrograms.Count > 0) { From 634b17c7f2ee6a577f5213a93f4977df40c3082e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 2 Nov 2021 22:23:49 +1300 Subject: [PATCH 077/112] Partially implemented user selecting bitmap icon Based on an idea from @erbkaiser, I'm implementing a process to allow the user to select the best image in the list of images extracted from icons, and allowing the user to choose the best one if they want. The idea is that DisplayMagician will try to pick the best image to use, but in the case that it gets's it wrong, theuser will be able to override it so that the nicest images/icons are used for their games! --- DisplayMagician/DisplayMagician.csproj | 9 + DisplayMagician/GameLibraries/Game.cs | 4 +- DisplayMagician/ImageUtils.cs | 197 + DisplayMagician/Program.cs | 55 +- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 115 +- .../UIForms/ChooseIconForm.Designer.cs | 179 + DisplayMagician/UIForms/ChooseIconForm.cs | 97 + DisplayMagician/UIForms/ChooseIconForm.resx | 7932 +++++++++++++++++ DisplayMagician/UIForms/GameAdaptor.cs | 4 +- .../UIForms/ShortcutForm.Designer.cs | 253 +- DisplayMagician/UIForms/ShortcutForm.cs | 124 +- 12 files changed, 8684 insertions(+), 289 deletions(-) create mode 100644 DisplayMagician/UIForms/ChooseIconForm.Designer.cs create mode 100644 DisplayMagician/UIForms/ChooseIconForm.cs create mode 100644 DisplayMagician/UIForms/ChooseIconForm.resx diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 5e78170..2626140 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -151,6 +151,12 @@ LoadingForm.cs + + Form + + + ChooseIconForm.cs + Form @@ -229,6 +235,9 @@ MainForm.cs Designer + + ChooseIconForm.cs + ProfileSettingsForm.cs diff --git a/DisplayMagician/GameLibraries/Game.cs b/DisplayMagician/GameLibraries/Game.cs index 78e7c4a..4f6d64d 100644 --- a/DisplayMagician/GameLibraries/Game.cs +++ b/DisplayMagician/GameLibraries/Game.cs @@ -33,7 +33,9 @@ namespace DisplayMagician.GameLibraries public virtual List Processes { get; set; } - public Bitmap GameBitmap { get; set; } + public ShortcutBitmap GameBitmap { get; set; } + + public List AvailableGameBitmaps { get; set; } #endregion diff --git a/DisplayMagician/ImageUtils.cs b/DisplayMagician/ImageUtils.cs index 996a61a..b7ef2e2 100644 --- a/DisplayMagician/ImageUtils.cs +++ b/DisplayMagician/ImageUtils.cs @@ -361,6 +361,203 @@ namespace DisplayMagician } + public static List GetMeAllBitmapsFromFile(string fileNameAndPath) + { + if (String.IsNullOrWhiteSpace(fileNameAndPath)) + { + logger.Warn($"ShortcutItem/GetMeAllBitmapsFromFile: Bitmap fileNameAndPath is empty! Unable to get the bitmaps from the file."); + return new List(); + } + + Icon myIcon = null; + List bmList = new List(); + int bmCount = 0; + + if (fileNameAndPath.EndsWith(".ico")) + { + + try + { + + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: The file we want to get the image from is an icon file. Attempting to extract the icon file from {fileNameAndPath}."); + + myIcon = new Icon(fileNameAndPath, 256, 256); + //Icon myIcon = Icon.ExtractAssociatedIcon(fileNameAndPath); + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmCount++; + bm.Source = fileNameAndPath; + bm.Image = myIcon.ToBitmap(); + bm.Size = new Size(bm.Image.Width, bm.Image.Height); + // Add the shortcutbitmap to the list + bmList.Add(bm); + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the icon file {fileNameAndPath} using standard Icon access method."); + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from a *.ico using Standard Icon tools."); + } + + try + { + MultiIcon myMultiIcon = new MultiIcon(); + SingleIcon mySingleIcon = myMultiIcon.Add("Icon1"); + mySingleIcon.Load(fileNameAndPath); + foreach (IconImage myIconImage in mySingleIcon) + { + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmCount++; + bm.Source = fileNameAndPath; + bm.Image = myIconImage.Image; + bm.Size = new Size(bm.Image.Width, bm.Image.Height); + // Add the shortcutbitmap to the list + bmList.Add(bm); + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the icon file {fileNameAndPath} using MultiIcon access method."); + } + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from a *.ico using MultiIcon tools."); + } + } + else + { + + /*try + { + List myIcons = ImageUtils.ExtractIconsFromExe(fileNameAndPath, true); + if (myIcons != null && myIcons.Count > 0) + { + foreach (Icon myExtractedIcon in myIcons) + { + bm = myExtractedIcon.ToBitmap(); + + if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) + { + bmToReturn = bm; + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: This new bitmap from the icon file {fileNameAndPath} is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); + } + } + } + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from an *.exe or *.dll using ImageUtils.ExtractIconsFromExe."); + }*/ + + try + { + var ie = new TsudaKageyu.IconExtractor(fileNameAndPath); + Icon[] allIcons = ie.GetAllIcons(); + foreach (Icon myExtractedIcon in allIcons) + { + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmCount++; + bm.Source = fileNameAndPath; + bm.Image = myExtractedIcon.ToBitmap(); + bm.Size = new Size(bm.Image.Width, bm.Image.Height); + // Add the shortcutbitmap to the list + bmList.Add(bm); + + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Add new bitmap from the exe file {fileNameAndPath} using TsudaKageyu.IconExtractor access method."); + } + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from an *.exe or *.dll using TsudaKageyu.IconExtractor."); + } + + } + + try + { + + List myExtractedIcons = MintPlayer.IconUtils.IconExtractor.Split(fileNameAndPath); + Size largeSize = new Size(256, 256); + foreach (Icon myExtractedIcon in myExtractedIcons) + { + + try + { + myIcon = (Icon)IconUtil.TryGetIcon(myExtractedIcon, largeSize, 32, true, true); + } + catch (ArgumentNullException nullex) + { + logger.Debug(nullex, $"ShortcutItem/GetMeABitmapFromFile: There was a faulty icon image within this icon that we couldn't test, so skipping it."); + continue; + } + + if (myIcon != null) + { + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmCount++; + bm.Source = fileNameAndPath; + bm.Image = myIcon.ToBitmap(); + bm.Size = new Size(bm.Image.Width, bm.Image.Height); + // Add the shortcutbitmap to the list + bmList.Add(bm); + + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the file {fileNameAndPath} using MintPlayer.IconUtils.IconExtractor access method."); + } + else + { + logger.Warn($"ShortcutItem/GetMeABitmapFromFile: Couldn't extract an Icon from the file {fileNameAndPath} using MintPlayer.IconUtils.IconExtractor access method, so can't try to get the Icon using IconUtils.TryGetIcon."); + } + } + + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to Split the icon using MintPlayer IconExtractor! "); + } + + + return bmList; + + } + + public static List GetMeAllBitmapsFromFile(ArrayList fileNamesAndPaths) + { + List bmToReturn = null; + + if (fileNamesAndPaths.Count == 0) + { + logger.Warn($"ShortcutItem/GetMeAllBitmapsFromFile: The fileNamesAndPaths list is empty! Can't get the bitmap from the files."); + return null; + } + logger.Trace($"ShortcutItem/GetMeAllBitmapsFromFile: We have {fileNamesAndPaths.Count} files to try and extract a bitmap from."); + foreach (string fileNameAndPath in fileNamesAndPaths) + { + logger.Trace($"ShortcutItem/GetMeAllBitmapsFromFile: Getting a bitmap from {fileNameAndPath} by running GetMeABitmapFromFile."); + bmToReturn.AddRange(GetMeAllBitmapsFromFile(fileNameAndPath)); + } + + return bmToReturn; + + } + + public static ShortcutBitmap GetMeLargestAvailableBitmap(List shortcutBitmaps) + { + // Returns the first ShortcutBitmap with the largest size + + ShortcutBitmap scToReturn = new ShortcutBitmap(); + + logger.Trace($"ShortcutItem/GetMeLargestAvailableBitmap: We have {shortcutBitmaps.Count} bitmaps to find the largest one within."); + foreach (ShortcutBitmap sc in shortcutBitmaps) + { + if (sc.Size.Width > scToReturn.Size.Width && sc.Size.Height > scToReturn.Size.Height) + { + scToReturn = sc; + } + } + + return scToReturn; + + } + public static Bitmap ToBitmapOverlay(Bitmap originalBitmap, Bitmap overlayBitmap, int width, int height, PixelFormat format = PixelFormat.Format32bppArgb) { diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 1dd1ae0..87d42c8 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -994,7 +994,7 @@ namespace DisplayMagician { // IconPath can be an ICO, or an EXE foreach (var game in GameLibrary.AllInstalledGamesInAllLibraries) { - Bitmap bm = null; + List bmList = new List(); try { /*ArrayList filesToSearchForIcon = new ArrayList(); @@ -1008,15 +1008,8 @@ namespace DisplayMagician { // Note: This may be an icon file, or an exe file. // This function tries to get a 256x256 Vista sized bitmap from the file logger.Trace($"Program/LoadGamesInBackground: Attempting to get game bitmaps from {game.Name}."); - bm = ImageUtils.GetMeABitmapFromFile(game.IconPath); - if (bm != null && bm.GetType() == typeof(Bitmap)) - { - logger.Trace($"Program/LoadGamesInBackground: Got game bitmaps from {game.Name}."); - } - else - { - logger.Trace($"Program/LoadGamesInBackground: Couldn't get game bitmaps from {game.Name} for some reason."); - } + bmList = ImageUtils.GetMeAllBitmapsFromFile(game.IconPath); + logger.Trace($"Program/LoadGamesInBackground: Got game bitmaps from {game.Name}."); } catch (Exception ex) @@ -1024,23 +1017,49 @@ namespace DisplayMagician { logger.Error(ex, $"Program/LoadGamesInBackground: Exception building game bitmaps for {game.Name} during load"); } - if (bm == null) + if (bmList.Count == 0) { + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmList.Count; + bm.Source = game.ExePath; if (game.GameLibrary.Equals(SupportedGameLibraryType.Steam)) - bm = Properties.Resources.Steam; + { + bm.Name = "Steam"; + bm.Image = Properties.Resources.Steam; + } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Uplay)) - bm = Properties.Resources.Uplay; + { + bm.Name = "Uplay"; + bm.Image = Properties.Resources.Uplay; + } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Origin)) - bm = Properties.Resources.Origin; + { + bm.Name = "Origin"; + bm.Image = Properties.Resources.Origin; + } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Epic)) - bm = Properties.Resources.Epic; + { + bm.Name = "Epic"; + bm.Image = Properties.Resources.Epic; + } else if (game.GameLibrary.Equals(SupportedGameLibraryType.GOG)) - bm = Properties.Resources.GOG; + { + bm.Name = "GOG"; + bm.Image = Properties.Resources.GOG; + } else - bm = Properties.Resources.DisplayMagician.ToBitmap(); + { + bm.Name = "DisplayMagician"; + bm.Image = Properties.Resources.DisplayMagician.ToBitmap(); + } + // Add the shortcutbitmap to the list + bmList.Add(bm); + } - game.GameBitmap = bm; + game.AvailableGameBitmaps = bmList; + game.GameBitmap = ImageUtils.GetMeLargestAvailableBitmap(bmList); } _gamesLoaded = true; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 18a755c..23af928 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.91")] -[assembly: AssemblyFileVersion("2.1.0.91")] +[assembly: AssemblyVersion("2.1.0.110")] +[assembly: AssemblyFileVersion("2.1.0.110")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index b58fed4..884e079 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -90,6 +90,17 @@ namespace DisplayMagician public string Message; } + public struct ShortcutBitmap + { + public string UUID; + public string Name; + public int Order; + public string Source; + [JsonConverter(typeof(CustomBitmapConverter))] + public Bitmap Image; + public Size Size; + } + public class ShortcutItem : IComparable { @@ -133,8 +144,9 @@ namespace DisplayMagician #pragma warning disable CS3008 // Identifier is not CLS-compliant private string _originalIconPath; private bool _userChoseOwnIcon = false; - private string _userIconPath; - private Bitmap _userIconBitmap; + private ShortcutBitmap _selectedImage = new ShortcutBitmap(); + private List _availableImages = new List(); + [JsonIgnore] public string _savedShortcutIconCacheFilename; #pragma warning restore CS3008 // Identifier is not CLS-compliant @@ -729,33 +741,30 @@ namespace DisplayMagician } } - public string UserIconPath + public ShortcutBitmap SelectedImage { get { - return _userIconPath; + return _selectedImage; } set { - _userIconPath = value; + _selectedImage = value; - // And we do the same for the UserLargeBitmap - //_userIconBitmap = ToLargeBitmap(_userIconPath); } } - [JsonConverter(typeof(CustomBitmapConverter))] - public Bitmap UserLargeBitmap + public List AvailableImages { get { - return _userIconBitmap; + return _availableImages; } set { - _userIconBitmap = value; + _availableImages = value; } } @@ -824,8 +833,8 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, - bool userChoseOwnIcon = false, - string userIconPath = "", + bool userChoseOwnIcon, + List availableImages, bool changeAudioDevice = false, string audioDevice = "", bool setAudioVolume = false, @@ -869,8 +878,8 @@ namespace DisplayMagician _autoName = autoName; _startPrograms = startPrograms; _originalIconPath = originalIconPath; - _userChoseOwnIcon = userChoseOwnIcon; - _userIconPath = userIconPath; + _userChoseOwnIcon = userChoseOwnIcon; + _availableImages = availableImages; _hotkey = hotkey; // Now we need to find and populate the profileUuid @@ -893,8 +902,8 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, - bool userChoseOwnIcon = false, - string userIconPath = "", + bool userChoseOwnIcon, + List availableImages, bool changeAudioDevice = false, string audioDevice = "", bool setAudioVolume = false, @@ -936,7 +945,7 @@ namespace DisplayMagician _startPrograms = startPrograms; _originalIconPath = originalIconPath; _userChoseOwnIcon = userChoseOwnIcon; - _userIconPath = userIconPath; + _availableImages = availableImages; _hotkey = hotkey; // Now we need to find and populate the profileUuid @@ -981,9 +990,8 @@ namespace DisplayMagician shortcut.OriginalLargeBitmap = OriginalLargeBitmap; shortcut.ShortcutBitmap = ShortcutBitmap; shortcut.SavedShortcutIconCacheFilename = SavedShortcutIconCacheFilename; - shortcut.UserChoseOwnIcon = UserChoseOwnIcon; - shortcut.UserIconPath = UserIconPath; - shortcut.UserLargeBitmap = UserLargeBitmap; + shortcut.UserChoseOwnIcon = UserChoseOwnIcon; + shortcut.AvailableImages = AvailableImages; shortcut.IsValid = IsValid; shortcut.Errors.AddRange(Errors); shortcut.StartPrograms = StartPrograms; @@ -1062,19 +1070,23 @@ namespace DisplayMagician // Get the user icon bitmap if its set. if (_userChoseOwnIcon) { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon instead (from {_userIconPath})."); - _userIconBitmap = ImageUtils.GetMeABitmapFromFile(_userIconPath); + logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon."); + _originalBitmap = _selectedImage.Image; } - - // Get the game icon bitmap if we can find it. - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the game executable icon as the game icon instead from {_originalIconPath}."); - // Find the game bitmap that matches the game name we just got - foreach (var aGame in GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) + else { - if (aGame.Name.Equals(_gameName)) + // Get the game icon bitmap if we can find it. + logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the game executable icon as the game icon instead from {_originalIconPath}."); + // Find the game bitmap that matches the game name we just got + foreach (var aGame in GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) { - _originalBitmap = aGame.GameBitmap; + if (aGame.Name.Equals(_gameName)) + { + _selectedImage = aGame.GameBitmap; + _originalBitmap = aGame.GameBitmap.Image; + } } + } // If we can't find the game icon bitmap then we try the icons for the game libraries themselves if (_originalBitmap == null) @@ -1112,14 +1124,7 @@ namespace DisplayMagician } // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it - if (_userChoseOwnIcon) - { - _shortcutBitmap = ImageUtils.ToBitmapOverlay(_userIconBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); - } - else - { - _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); - } + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); } @@ -1128,30 +1133,28 @@ namespace DisplayMagician if (_userChoseOwnIcon) { - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the user set icon as the app icon instead (from {_userIconPath})."); - _userIconBitmap = ImageUtils.GetMeABitmapFromFile(_userIconPath); - } - - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the executable icon as the app icon instead from {_executableNameAndPath}."); - _originalBitmap = ImageUtils.GetMeABitmapFromFile(_executableNameAndPath); - - if (_originalBitmap == null) - { - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - _originalBitmap = ImageUtils.ToBitmapOverlay(Properties.Resources.DisplayMagician.ToBitmap(), _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - - // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it - if (_userChoseOwnIcon) - { - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - _shortcutBitmap = ImageUtils.ToBitmapOverlay(_userIconBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon."); + _originalBitmap = _selectedImage.Image; } else { + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the executable icon as the app icon instead from {_executableNameAndPath}."); + _availableImages = ImageUtils.GetMeAllBitmapsFromFile(_executableNameAndPath); + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + _originalBitmap = _selectedImage.Image; + + if (_originalBitmap == null) + { + logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + _originalBitmap = ImageUtils.ToBitmapOverlay(Properties.Resources.DisplayMagician.ToBitmap(), _profileToUse.ProfileIcon.ToBitmap(), 256, 256); + } + + // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); + } + } public void RefreshValidity() diff --git a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs new file mode 100644 index 0000000..317e362 --- /dev/null +++ b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs @@ -0,0 +1,179 @@ + +namespace DisplayMagician.UIForms +{ + partial class ChooseIconForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChooseIconForm)); + this.lv_icons = new System.Windows.Forms.ListView(); + this.pb_selected_icon = new System.Windows.Forms.PictureBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.btn_add = new System.Windows.Forms.Button(); + this.btn_select = new System.Windows.Forms.Button(); + this.btn_back = new System.Windows.Forms.Button(); + this.columnHeaderName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + ((System.ComponentModel.ISupportInitialize)(this.pb_selected_icon)).BeginInit(); + this.SuspendLayout(); + // + // lv_icons + // + this.lv_icons.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeaderName}); + this.lv_icons.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.lv_icons.HideSelection = false; + this.lv_icons.Location = new System.Drawing.Point(26, 40); + this.lv_icons.MultiSelect = false; + this.lv_icons.Name = "lv_icons"; + this.lv_icons.ShowGroups = false; + this.lv_icons.Size = new System.Drawing.Size(561, 200); + this.lv_icons.TabIndex = 0; + this.lv_icons.UseCompatibleStateImageBehavior = false; + this.lv_icons.View = System.Windows.Forms.View.Details; + this.lv_icons.SelectedIndexChanged += new System.EventHandler(this.lv_icons_SelectedIndexChanged); + // + // pb_selected_icon + // + this.pb_selected_icon.BackColor = System.Drawing.Color.DimGray; + this.pb_selected_icon.Location = new System.Drawing.Point(593, 40); + this.pb_selected_icon.Name = "pb_selected_icon"; + this.pb_selected_icon.Size = new System.Drawing.Size(200, 200); + this.pb_selected_icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pb_selected_icon.TabIndex = 1; + this.pb_selected_icon.TabStop = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Black; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(238, 21); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(125, 16); + this.label1.TabIndex = 2; + this.label1.Text = "Choose icon to use:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Black; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(652, 21); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(93, 16); + this.label2.TabIndex = 3; + this.label2.Text = "Selected icon:"; + this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // btn_add + // + this.btn_add.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_add.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_add.ForeColor = System.Drawing.Color.White; + this.btn_add.Location = new System.Drawing.Point(26, 261); + this.btn_add.Name = "btn_add"; + this.btn_add.Size = new System.Drawing.Size(77, 30); + this.btn_add.TabIndex = 39; + this.btn_add.Text = "Add icons"; + this.btn_add.UseVisualStyleBackColor = true; + // + // btn_select + // + this.btn_select.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_select.ForeColor = System.Drawing.Color.White; + this.btn_select.Location = new System.Drawing.Point(314, 261); + this.btn_select.Name = "btn_select"; + this.btn_select.Size = new System.Drawing.Size(176, 30); + this.btn_select.TabIndex = 40; + this.btn_select.Text = "Save and use selected icon"; + this.btn_select.UseVisualStyleBackColor = true; + this.btn_select.Click += new System.EventHandler(this.btn_select_Click); + // + // btn_back + // + this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_back.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_back.ForeColor = System.Drawing.Color.White; + this.btn_back.Location = new System.Drawing.Point(714, 261); + this.btn_back.Name = "btn_back"; + this.btn_back.Size = new System.Drawing.Size(79, 30); + this.btn_back.TabIndex = 41; + this.btn_back.Text = "Back"; + this.btn_back.UseVisualStyleBackColor = true; + this.btn_back.Click += new System.EventHandler(this.btn_back_Click); + // + // columnHeaderName + // + this.columnHeaderName.Text = "Name"; + this.columnHeaderName.Width = 550; + // + // ChooseIconForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.ClientSize = new System.Drawing.Size(819, 319); + this.Controls.Add(this.btn_back); + this.Controls.Add(this.btn_select); + this.Controls.Add(this.btn_add); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.pb_selected_icon); + this.Controls.Add(this.lv_icons); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ChooseIconForm"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "Choose shortcut icon"; + this.TopMost = true; + this.Load += new System.EventHandler(this.ChooseIconForm_Load); + ((System.ComponentModel.ISupportInitialize)(this.pb_selected_icon)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListView lv_icons; + private System.Windows.Forms.PictureBox pb_selected_icon; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btn_add; + private System.Windows.Forms.Button btn_select; + private System.Windows.Forms.Button btn_back; + private System.Windows.Forms.ColumnHeader columnHeaderName; + } +} \ No newline at end of file diff --git a/DisplayMagician/UIForms/ChooseIconForm.cs b/DisplayMagician/UIForms/ChooseIconForm.cs new file mode 100644 index 0000000..678ab9d --- /dev/null +++ b/DisplayMagician/UIForms/ChooseIconForm.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace DisplayMagician.UIForms +{ + public partial class ChooseIconForm : Form + { + private ShortcutBitmap _selectedImage = new ShortcutBitmap(); + + public ChooseIconForm() + { + InitializeComponent(); + } + + public List AvailableImages + { + get; + set; + } + + public ShortcutBitmap SelectedImage + { + get; + set; + } + + private void btn_back_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + this.Close(); + } + + private void ChooseIconForm_Load(object sender, EventArgs e) + { + if (AvailableImages.Count > 0) + { + bool alreadySelected = false; + // Load all the images into the list + int imageCount = 1; + foreach (ShortcutBitmap sc in AvailableImages) + { + ListViewItem lvi = new ListViewItem($"Image {sc.Order} from {sc.Source}"); + lvi.Name = sc.UUID; + if (sc.Equals(SelectedImage)) + { + lvi.Selected = true; + pb_selected_icon.Image = SelectedImage.Image; + _selectedImage = sc; + } + lv_icons.Items.Add(lvi); + } + + // Select the first largest image listed if there isn't one already + if (lv_icons.SelectedItems.Count == 0) + { + lv_icons.Items[0].Selected = true; + pb_selected_icon.Image = AvailableImages[0].Image; + _selectedImage = AvailableImages[0]; + } + + + + } + } + + private void btn_select_Click(object sender, EventArgs e) + { + SelectedImage = _selectedImage; + DialogResult = DialogResult.OK; + this.Close(); + } + + private void lv_icons_SelectedIndexChanged(object sender, EventArgs e) + { + if (lv_icons.SelectedItems.Count > 0) + { + string uuidToFind = lv_icons.SelectedItems[0].Name; + foreach (ShortcutBitmap sc in AvailableImages) + { + if (sc.UUID.Equals(uuidToFind)) + { + pb_selected_icon.Image = sc.Image; + _selectedImage = sc; + break; + } + } + } + } + } +} diff --git a/DisplayMagician/UIForms/ChooseIconForm.resx b/DisplayMagician/UIForms/ChooseIconForm.resx new file mode 100644 index 0000000..d05f62e --- /dev/null +++ b/DisplayMagician/UIForms/ChooseIconForm.resx @@ -0,0 +1,7932 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAkAEBAAAAEAIABoBAAAlgAAABgYAAABACAAiAkAAP4EAAAgIAAAAQAgAKgQAACGDgAAMDAAAAEA + IACoJQAALh8AAEBAAAABACAAKEIAANZEAABgYAAAAQAgAKiUAAD+hgAAgIAAAAEAIAAoCAEAphsBAMDA + AAABACAAKFICAM4jAgAAAAAAAQAgALavAgD2dQQAKAAAABAAAAAgAAAAAQAgAAAAAAAABAAAnQQAAJ0E + AAAAAAAAAAAAABIS2VMSEtrZFhbb/ycnmf83OEX/ODk+/zg5Pv84OT7/ODk+/zg5Pv84OT7/NzdH/yUm + oP8WFtv/EhLa0xIS2UkTE9rcGBjb/yMj1f80NWL/OTo4/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6 + OP8zNGr/ISHY/xcX2/8SEtrPGBjb/yQk3f8yMtX/Ojtf/zs7O/87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Ozv/Ojpm/zAw2P8iItz/Fxfa+SIi3P8vL9//Pj7Y/0REZv9DRET/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RE/0REbf88PNv/LS3e/yEh3Ps/P+H/k5Pu/6Cg6P9gYHL/TExP/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/0tMTv9kZHn/oqLr/46O7f85OeD6WFjl/+zs/P/9/fz/lZWY/1RVWf9VVlr/V1db/1dY + XP9XWFz/V1db/1VWWf9VVln/nZ6g/////v/m5vv/T0/j+l5e5v/t7fz//////+zs7f+8vL7/r6+y/42O + kf9rbHH/bW5y/5CRlP+wsLP/vr7A/+/v8P//////5ub7/1VV5PpiYub/7e38////////////+/v7/7Ky + tf9mZ2v/UlNW/1JTV/9pam7/uLm7//z8/P///////////+fn+/9ZWeX6Y2Pm/+3t/P///////////8vM + zv9dXmL/Q0RH/z0+QP8+PkD/REVH/2FiZv/T09X////////////n5/v/W1vl+mNj5v/t7fz///////7+ + /v+cnaD/SUpN/zw9P/85Ojz/OTo8/z09QP9LTE//paap////////////5+f7/1pa5fpgYOb/7e38//// + ///9/f3/lJWY/0dIS/87PD7/OTo7/zk6O/88PD7/SUpN/52dof///////////+fn+/9XV+T6W1vl/+zs + /P///////////7a3uP9SU1X/P0BC/zs7Pf87Oz3/QEFD/1VWWP++v8D////////////m5vv/UlLk+kZG + 4v+np/H/u7v0/8LC9v+1tuX/b2+G/1BRU/9GR0j/RkdJ/1FSVP9yc4z/uLjo/8HB9v+6uvT/o6Pw/z8/ + 4fsnJ93/NTXf/0ZG4v9WVuT/Zmbo/3Bx1/9tbqH/ZmaA/2Zngf9tbqT/b3Da/2Rk5/9UVOT/RETh/zMz + 3/8lJd35HR3b3Cgo3f83N9//RUXi/1FR5P9cXOb/ZGTm/2ho4P9nZ+D/Y2Pm/1tb5v9QUOP/Q0Ph/zU1 + 3/8nJ93/HBzbzxgY2lMfH9zZKSnd/zU13/9AQOH/SUni/09P4/9SUuT/UlLk/05O4/9ISOL/Pz/h/zQ0 + 3/8oKN3/HR3b0xcX2kkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAACQAAnQQAAJ0EAAAAAAAAAAAAABIS + 2QoSEtlyEhLZ4RMT2v4YGNr/Jiae/zU2Tv84OT//ODlA/zg5QP84OUD/ODlA/zg5QP84OUD/ODlA/zg5 + QP84OUD/NDVT/yQkp/8XF9v/ExPa/RIS2dsSEtlkEhLZBhIS2XUSEtrzFBTa/xoa3P8jI8L/NjZP/zk6 + Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zQ1V/8hIcr/GRnc/xQU + 2v8SEtnuEhLZYRIS2uYVFdr/Gxvb/yMj3/8uLqv/OTk+/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zg5Qv8sLLf/ISHe/xoa2/8UFNr/EhLZ0xUV2v8bG9v/JCTc/y0t + 4f82Nqv/OTo+/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + Qv80NLf/Kyvg/yMj3P8aGtv/FBTa9hsb2/8jI9z/LS3e/zc34v8/P67/Pj9D/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/R/8+Prn/NTXh/ysr3v8hIdz/GRnb+CIi + 3P8pKd3/MzPf/z4+4/9GRrH/RUZK/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGTv9FRbz/PDzi/zEx3v8nJ93/ICDc+Cgo3f9TU+T/dnbp/35+7f9xcbn/TE1R/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/01OVf90dcX/fHzs/3R0 + 6f9NTeP/JSXd+C0t3v+np/H//v7///7+///Ky87/VVZZ/1FSVv9SUlb/UlJW/1JSVv9SUlb/UlJW/1JS + Vv9SUlb/UlJW/1JSVv9SUlb/UVJV/1pbXv/W1tn//f3///39//+Wlu7/KSnd+DMz3/+srPL///////// + ///t7e3/ent+/1VVWf9VVlr/VVZa/1ZXW/9XWFz/WFlc/1hZXP9XWFz/Vldb/1VWWv9VVlr/VVZa/4SF + h//z8/T///////////+bm+//Ly/e+Dc33/+urvL/////////////////4ODh/6Kipf+RkpX/k5SW/46P + kv96e3//aWpu/2prb/98fYH/j5CT/5OTlv+SkpX/pqap/+bm5/////////////////+dnfD/MzPf+Ds7 + 4P+wsPL////////////////////////////+/v7/4eHi/52dof9xcnf/Y2Rp/2Rlaf90dXn/o6On/+bm + 5//+/v7///////////////////////////+fn/D/Nzff+D4+4P+xsfP///////////////////////// + ///d3d7/fn+D/1dYXP9NTlL/SkpN/0pKTf9OT1L/WVpe/4WGiv/k5OX///////////////////////// + //+hofD/OTng+D8/4f+ysvP///////////////////////Pz9P+NjpL/VVZa/0hJS/9BQUT/Pj9B/z4/ + Qf9BQkT/SUpM/1dYXP+XmJz/+Pj4//////////////////////+hofD/Ozvg+D8/4f+ysvP///////// + /////////////83O0P9jZGj/S0tO/0BAQ/87PD7/Ojs9/zo7Pf87PD7/QEFD/0xNUP9pam7/2Nja//// + //////////////////+hofD/Ozvg+D4+4P+xsfP//////////////////////66vsv9XWFz/RUZJ/zw9 + P/86Ojz/OTo7/zk6O/86Ojz/PT5A/0ZHSv9aW1//u7u+//////////////////////+hofD/OTng+Ds7 + 4P+wsPL//////////////////////6enq/9VVlr/REVH/zw9P/85Ojz/OTo7/zk6O/85Ojz/PD0//0VG + Sf9YWV3/tLS3//////////////////////+fn/D/Nzff+Dg43/+urvL//////////////////////7i4 + u/9aW1//R0dK/z0+QP86Oz3/OTo8/zk6PP86Oz3/Pj9B/0hJTP9eX2P/xMXH//////////////////// + //+envD/NDTf+DMz3/+srPL//////////////////////97e3/9vcHT/Tk9S/0JDRf89PUD/Ozw+/zs8 + Pv89PkD/Q0RG/09QU/93d3v/5+fn//////////////////////+bm+//Ly/e+C4u3v+YmO//5OT7/+Pj + +//l5fv/5+f7/+bm+f+bm6z/XV5j/01OUf9FRUj/QUJF/0JCRf9FRkn/Tk9S/2BhZv+kpbb/6Oj7/+fn + +//l5fv/4+P7/+Pj+/+Jiez/Kird+Cgo3f89PeD/UFDj/1pa5f9lZef/b2/o/3l56/99feH/c3Og/2Rk + a/9XWFr/UVJU/1JTVf9YWVv/ZWZu/3R0p/99feT/d3fq/21t6P9jY+b/WFjl/05O4/86OuD/Jibd+CIi + 3P8rK93/NTXf/0BA4f9LS+P/VVXk/19f5v9oaOj/cHDk/3N0wv9wcZv/bW2J/21uiv9wcZ7/c3PG/29v + 5f9mZuf/XV3l/1NT5P9JSeL/Pj7h/zMz3/8pKd3/ICDc9hwc2+YkJNz/Li7e/zg43/9BQeH/Skri/1NT + 5P9bW+X/YWHm/2dn6P9qaub/bGzi/2xs4v9qauf/Zmbo/2Bg5v9ZWeX/UVHk/0lJ4v8/P+H/Njbf/yws + 3v8iItz/Gxvb0xgY2nUcHNvzJSXc/y0t3v82Nt//Pj7h/0ZG4v9NTeP/U1Pk/1dX5P9aWuX/XFzm/1tb + 5v9aWuX/Vlbk/1JS5P9MTOP/RUXi/z094P80NN//LCze/yMj3P8bG9vuFxfaYRQU2goYGNtyHR3b4SQk + 3P4sLN7/NDTf/zs74P9BQeH/Rkbi/0pK4v9MTOP/Tk7j/05O4/9MTOP/SUni/0VF4v9AQOH/OTng/zIy + 3/8rK93/IyPc/Rwc29sXF9pkEhLaBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA + AAAgAAAAQAAAAAEAIAAAAAAAABAAAJ0EAACdBAAAAAAAAAAAAAASEtkAEhLZGRIS2YoSEtnjEhLa/RUV + 2v8YGNr/JCSo/zM0Wv84OEL/ODlB/zg5Qf84OUH/ODlB/zg5Qf84OUH/ODlB/zg5Qf84OUH/ODlB/zg5 + Qf84OUH/NzhD/zIyYf8iIrL/Fxfb/xQU2v8SEtr8EhLZ3BIS2XoSEtkREhLZABIS2RoSEtmsEhLZ/RMT + 2v8WFtr/Ghrd/yQktv82Nk3/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTo5/zQ1Vv8hIcL/GRnc/xUV2v8SEtr/EhLZ+hIS2ZgSEtkPEhLZkRIS + 2f0TE9r/Fxfa/xwc2/8iItz/MDF//zk6OP85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/y0ukf8gIN7/Gxvb/xYW2v8TE9r/EhLZ+BIS + 2XQSEtnqExPa/xgY2v8dHdv/IyPc/ykp2/81NW//OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/MzOA/ygo3v8iItz/HBzb/xcX + 2v8TE9r/EhLZ0RMT2v8YGNr/Hh7b/yQk3P8rK97/MTHc/zg4b/85Ojn/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6Of83N4D/MDDf/ykp + 3f8jI9z/HBzb/xYW2v8TE9ryFxfa/x0d2/8kJNz/Kyvd/zIy3/85Od3/PD1x/zw9PP88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD08/zw8 + gv83N+D/MDDe/ykp3f8iItz/Gxvb/xYW2vYcHNv/IiLc/yoq3f8yMt//OTng/0FB3v9CQ3X/QUFB/0FB + RP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FB + RP9BQUH/QkKG/z8/4f83N9//MDDe/ygo3f8hIdz/Ghrb9SEh3P8oKN3/Ly/e/zc33/8/P+H/R0ff/0hI + ef9FRkb/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGRv9ISIn/RUXi/z094P81Nd//LS3e/yYm3f8fH9z1JSXd/zIy3/9MTOP/Vlbk/11d + 5v9kZOT/VFR+/0pLTP9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktM/1dXjv9jY+f/W1vl/1RU5P9JSeL/Li7e/yQk3PUoKN3/VVXk/9zc + +f/p6fv/6en8/+jo+f+AgYn/TU1R/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9NTVH/kZGa/+vr/f/p6fv/6en8/9HR+P9FReL/Jyfd9Sws + 3v9dXeX/8/P9/////////////////5ydn/9RUlb/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1JTV/+vr7H/////////////////5+f7/0xM + 4/8rK931MDDe/2Bg5v/z8/3/////////////////2NjZ/2lqbv9WV1v/V1hc/1dYXP9XWFz/V1hc/1dY + XP9YWV3/WVld/1hZXf9YWV3/V1hc/1dYXP9XWFz/V1hc/1dYXP9WV1v/c3R3/+Tk5f////////////// + ///n5/v/UFDj/y8v3vUzM9//Y2Pm//Pz/f/////////////////+/v7/0dHS/4yNkP93eHz/dnd7/3d3 + e/94eXz/dnd6/2xtcf9kZWn/ZWZq/25vc/93d3v/eHl8/3d3e/92d3v/eHl8/5KTlv/a2tv///////// + /////////////+jo+/9TU+T/MjLf9TY23/9mZuf/8/P9////////////////////////////+vr6//Hx + 8v/x8fL/7u7v/8zNz/+am5//enuA/21uc/9ub3T/fX6D/6ChpP/S09T/8PDw//Hx8f/y8vL/+/v7//// + ////////////////////////6Oj7/1ZW5P81Nd/1OTng/2ho5//z8/3///////////////////////// + //////////////b29v+zs7f/dHV6/19gZf9ZWl7/Vldb/1ZXW/9ZWl7/YWJm/3l6f/+9vsH/+vr6//// + ///////////////////////////////////p6fv/WFjl/zc33/U6OuD/aWnn//Pz/f////////////// + ///////////////////4+Pn/qaqt/2ZnbP9XWFv/Tk9S/0lKTf9HSEv/R0hL/0pKTf9PUFP/WFld/2pr + cP+2t7r//Pz8/////////////////////////////////+np+/9aWuX/OTng9Ts74P9qauf/9PT9//// + /////////////////////////////8XFyP9qa3D/VVZa/0pLTv9EREf/QEFD/z8/Qv8/P0L/QEFE/0RF + SP9LTE//V1hc/3Bxdv/S0tT/////////////////////////////////6en7/1pa5f86OuD1Ozvg/2pq + 5//09P3////////////////////////////y8vP/iYqO/1pbX/9MTVD/Q0NG/z4/Qf88PD7/Ozs9/zs7 + Pf88PD//Pj9B/0RER/9NTlH/XF1h/5aXm//4+Pn////////////////////////////p6fz/W1vl/zo6 + 4PU7O+D/amrn//T0/f///////////////////////////9bW2P9sbXL/U1RX/0ZHSf8/P0L/Ozw+/zo6 + PP85Ojz/OTo8/zo6PP87PD7/P0BC/0dIS/9VVln/dHV6/+Lj5P///////////////////////////+np + +/9aWuX/OTng9To64P9paef/8/P9////////////////////////////v7/C/2JjaP9PUFP/Q0RG/z09 + QP86Oz3/OTo8/zk6O/85Ojv/OTo8/zo7Pf89PkD/REVH/1FSVf9naG3/zs/R//////////////////// + ////////6en7/1lZ5f84OOD1ODjg/2ho5//z8/3///////////////////////////+4uLv/YGFl/05O + Uv9CQ0X/PD0//zo6PP85Ojz/OTo7/zk6O/85Ojz/Ojs9/z09QP9DREf/UFBU/2Vlav/IyMv///////// + ///////////////////o6Pv/WFjl/zc33/U2Nt//ZWXn//Pz/f///////////////////////////8LC + xf9jZGn/T1BT/0NER/89PkD/Ojs9/zk6PP85Ojv/OTo7/zk6PP86Oz3/Pj5A/0RFSP9RUlb/aWpu/9HS + 1P///////////////////////////+jo+/9VVeT/NDTf9TMz3/9jY+b/8/P9//////////////////// + ////////29vd/29wdf9UVVj/R0dK/z9AQv87PD7/Ojs9/zk6PP85Ojz/Ojs9/zw8P/9AQUP/SElM/1ZX + Wv94eX7/5+fo////////////////////////////6Oj7/1NT5P8xMd71Ly/e/2Bg5v/z8/3///////// + ///////////////////29vf/kpOX/1tcYf9NTlH/REVH/z8/Qv88PT//Ozw+/zs8Pv88PT//P0BC/0VF + SP9PUFP/Xl9j/6ChpP/7+/z////////////////////////////n5/v/T0/j/y4u3vUrK93/W1vl/+7u + /P/7+/7/+/v+//v7/v/7+/7//Pz+//39///Pz9P/cXJ3/1hZXP9MTVD/RUZJ/0FCRf9AQUP/QEFD/0JC + Rf9GR0n/Tk5S/1pbXv94eX7/29vf//39///7+/7/+/v+//v7/v/7+/7//Pz//+Pj+/9LS+P/Kird9Sgo + 3f88POD/bm7o/3l56v9/f+v/hYXs/4uL7f+Sku7/mJjv/5qa7f9/f7X/amtz/1tcX/9RUlX/TExP/0lK + Tf9JSk3/TE1Q/1JTVv9cXWD/bG14/4KDv/+bm+//lpbv/5CQ7f+Kiu3/hITs/3196v93d+r/aWnn/zY2 + 3/8nJ931JSXc/ysr3v8yMt//Ojrg/0ND4f9MTOP/VFTk/1xc5f9kZOb/bGzo/3R05/93d73/cHGE/2Vm + av9eX2H/Wlte/1pbXv9eX2L/Zmds/3Fyiv93d8T/cnLo/2pq6P9iYub/Wlrl/1JS5P9KSuL/QUHh/zg4 + 4P8wMN7/Kird/yMj3PYgINz/Jyfd/y8v3v83N9//Pz/h/0dH4v9OTuP/Vlbk/11d5f9kZOb/amro/29v + 6f9zdNn/dHW3/3NznP9xco//cXKQ/3Nznv90dbz/c3Pd/25u6f9oaOf/YmLm/1tb5f9UVOT/TU3j/0VF + 4v89PeD/NTXf/y0t3v8lJdz/Hh7b8hsb2+ohIdz/KCjd/zAw3v84ON//Pz/h/0ZG4v9NTeP/VFTk/1pa + 5f9fX+b/ZGTm/2ho6P9ra+n/bW3m/25u4/9ubuP/bW3n/2pq6f9nZ+j/Y2Pm/15e5f9YWOX/UlLk/0tL + 4/9EROH/PT3g/zY23/8uLt7/Jyfd/x8f3P8aGtvRGBjakRwc2/0iItz/KSnd/zAw3v83N9//Pj7g/0RE + 4f9KSuL/UFDj/1VV5P9ZWeX/XFzl/19f5v9hYeb/YmLm/2Ji5v9gYOb/Xl7m/1xc5f9YWOX/U1Pk/05O + 4/9JSeL/Q0Ph/zw84P81Nd//Li7e/ycn3f8hIdz/Ghrb+BcX2nQVFdoaGBjarBwc2/0iItz/KSnd/y8v + 3v81Nd//Ozvg/0BA4f9GRuL/Skri/05O4/9RUeT/VFTk/1VV5P9WVuT/Vlbk/1VV5P9TU+T/UFDj/01N + 4/9JSeL/RETh/z8/4f86OuD/NDTf/y0t3v8nJ93/ISHc/xsb2/oXF9qYFBTaDxcX2gAWFtoZGRnbih0d + 2+MiItz9KCjd/y4u3v8zM9//ODjg/z094P9BQeH/RETh/0dH4v9JSeL/S0vj/0xM4/9MTOP/S0vi/0lJ + 4v9HR+L/Q0Ph/0BA4f88POD/Nzff/zIy3/8sLN7/Jibd/yEh3PwcHNvcGBjaehQU2hEVFdoAgAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAEoAAAAMAAAAGAAAAABACAAAAAAAAAkAACdBAAAnQQAAAAAAAAAAAAAAAAAABIS2QASEtkCEhLZORIS + 2Z4SEtnhEhLZ+xIS2v8UFNr/Fhba/xgY3P8gIL3/Li54/zU2T/83OEX/NzhE/zc4Rf84OEX/ODhF/zg4 + Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zg4Rf84OEX/ODhF/zc4Rf83OET/NzhF/zQ1 + VP8rLIT/Hh7H/xgY3P8VFdr/ExPa/xIS2v8SEtn5EhLZ2BIS2YwSEtkpEhLZABIS2QAAAAAAEhLZABIS + 2QcSEtltEhLZ4xIS2f8SEtr/ExPa/xUV2v8YGNr/Ghrc/yMjtP80NVb/OTo6/zk6Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk6Ov85OTv/MTJk/yAgw/8ZGdz/Fxfa/xQU2v8SEtr/EhLZ/xIS2f4SEtnUEhLZUhIS + 2QISEtkAEhLZAhIS2XASEtn1EhLZ/xIS2v8UFNr/Fhba/xkZ2/8cHNz/IiLM/zM0Xv85Ojn/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zAwc/8fH9b/Gxvb/xgY2v8VFdr/ExPa/xIS + 2f8SEtn/EhLZ6RIS2VASEtkAEhLZQRIS2eUSEtn/EhLa/xQU2v8XF9r/Ghrb/x4e2/8hId7/Kyuj/zk5 + Pf85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zc4Rf8nKLn/ICDe/x0d + 2/8ZGdv/Fhba/xMT2v8SEtr/EhLZ/xIS2c4SEtkjEhLZqxIS2f8SEtr/FBTa/xgY2v8bG9v/Hx/c/yMj + 3P8mJt7/MTKI/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + PP8uLqL/JSXf/yEh3P8dHdv/Ghrb/xYW2v8TE9r/EhLa/xIS2fwSEtl+EhLZ7hIS2v8UFNr/GBja/xwc + 2/8fH9z/JCTc/ycn3f8rK9//NDSB/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/8yMpz/Kirg/yYm3f8iItz/Hh7b/xoa2/8XF9r/ExPa/xIS2v8SEtnHEhLa/xQU + 2v8YGNr/HBzb/yAg3P8kJNz/KCjd/y0t3v8xMd//NjeC/zk5Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/81NZz/Ly/h/ysr3f8nJ93/IyPc/x4e2/8aGtv/Fhba/xMT + 2v8SEtnpFBTa/xcX2v8bG9v/ICDc/yQk3P8pKd3/LS3e/zIy3/82NuD/OTqD/zo6Ov86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP85OZ3/NTXi/zAw3v8sLN7/Jyfd/yIi + 3P8eHtv/Ghrb/xYW2v8TE9rwFxfa/xsb2/8fH9z/JCTc/ygo3f8tLd7/MjLf/zc33/88POH/Pj6F/z09 + Pf89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09QP89PUD/PT1A/z09 + QP89PUD/PT1A/z09QP89PUD/PT1A/z09P/89PUD/PT1A/z09QP89PUD/PT0//z09P/89PZ//Ojri/zU1 + 3/8wMN7/Kyve/ycn3f8iItz/HR3b/xkZ2/8VFdrwGhrb/x4e2/8jI9z/KCjd/y0t3v8yMt//Nzff/zw8 + 4P9BQeL/QkKH/0BBQP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9CQqH/Pz/j/zo64P81Nd//MDDe/ysr3f8mJt3/ISHc/xwc2/8YGNvwHR3b/yEh3P8nJ93/LCze/zEx + 3v82Nt//PDzg/0FB4f9GRuP/RkaK/0NERP9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NERv9GRqP/RETk/z8/4f86OuD/NDTf/y8v3v8qKt3/JSXc/yAg3P8cHNvwICDc/yUl + 3f8qKt3/MDDe/zU13/87O+D/QEDh/0ZG4v9LS+T/SkqM/0ZHR/9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9KS6X/SUnl/0RE4f8+PuH/OTng/zMz3/8uLt7/KCjd/yMj + 3P8fH9zwIyPc/ygo3f8tLd7/MTHe/zc33/89PeD/Q0Ph/0hI4v9OTuT/TU6O/0lKS/9KSk3/SkpN/0pK + Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pK + Tf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9OTqf/TEzl/0ZG4v9BQeH/Ojrg/zU1 + 3/8vL97/Kyve/yYm3f8iItzwJibd/yoq3f9KSuL/lpbu/56e8P+goPD/o6Px/6am8f+qqvL/dXaW/0tM + Tv9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01NUP+EhbD/qqr0/6Wl + 8f+iovD/n5/w/52d8P+Nje3/PDzg/ykp3f8lJdzwKird/yws3v9lZef/9/f+//////////////////// + ////////nZ6f/01OUv9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP+6urv////////////////////////////m5vv/S0vj/ysr3f8nJ93wLCze/y8v3v9nZ+f/9/f+//// + ////////////////////////r6+x/1JSVv9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RX/1dYW//Kysv////////////////////////////m5vv/Tk7j/y4u3v8qKt3wLy/e/zIy + 3/9paef/9/f+////////////////////////////2dna/2JjZ/9VVlr/V1db/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1dXW/9WV1v/Vldb/1dXW/9XV1v/Vldb/1ZXW/9XV1v/Vldb/1ZX + W/9WV1v/Vldb/1dXW/9XV1v/VFVZ/3Fydf/r6+z////////////////////////////n5/v/UFDj/zEx + 3v8tLd7wMTHe/zU13/9sbOj/9/f+/////////////////////////////Pz8/6anqf9aW1//WFld/1pa + Xv9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1paXv9YWV3/YGFl/729v/////////////////////////////// + ///n5/v/U1Pk/zMz3/8vL97wNDTf/zc33/9tbej/9/f+//////////////////////////////////X1 + 9v+sra//bm5y/15fY/9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYv9dXmP/Xl9j/15fY/9dXmL/XV5i/15f + Y/9eX2P/XV5i/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/19gZP91dXn/vb6///v7+/////////////// + ///////////////////n5/v/VVXk/zU13/8xMd7wNjbf/zk54P9vb+j/9/f+//////////////////// + ///////////////////9/f3/5OTl/8bGyP+8vL7/vLy+/7y8vv+8vL7/vb6//7m6vP+nqKr/jo+T/3p7 + gP9wcXb/cXJ3/31+g/+Tk5f/q6yv/7u7vf+9vb//vLy+/7y8vv+8vL7/vL2//8rLzP/q6+v//v7+//// + ///////////////////////////////////o6Pv/V1fk/zg43/8zM9/wNzff/zs74P9xcej/9/f+//// + ///////////////////////////////////////////////////////////////////9/v7/4ODh/6qr + rv+EhYr/c3R5/2xtcv9qa3D/amtw/21uc/91dnv/iYqP/7S0uP/o6er///////////////////////// + ///////////////////////////////////////////////////o6Pv/WVnl/zo64P81Nd/wOTng/z09 + 4P9ycun/9/f+//////////////////////////////////////////////////////////////////T0 + 9f+2trn/e3yB/2dobf9hYmf/XV5i/1pbX/9ZWl7/WVpe/1tbYP9eX2P/YmNo/2lqb/+Cg4j/xMTH//n5 + +v/////////////////////////////////////////////////////////////////o6Pv/Wlrl/zs7 + 4P83N9/wOjrg/z4+4P9zc+n/9/f+//////////////////////////////////////////////////// + ////////8PDx/6Kipv9tbnP/YmNn/1pbX/9VVVn/UVFV/05PUv9NTlH/TU5R/05PU/9RUlX/VVZa/1xd + Yf9jZGn/cnN4/7Kztv/4+Pj///////////////////////////////////////////////////////// + ///o6Pv/W1vl/zw84P84ON/wOzvg/z8/4f90dOn/9/f+//////////////////////////////////// + ///////////////////39/f/paaq/2tscf9fYGX/Vldb/09QVP9LTE//SEhL/0ZGSf9FRkj/RUZI/0ZH + Sf9ISUz/S0xP/1FRVf9YWVz/YWJn/3Bxdv+4uLz//Pz8//////////////////////////////////// + ///////////////////p6fv/XFzl/z094P85OeDwPDzg/0BA4f90dOn/9/f+//////////////////// + ///////////////////////////////////AwMP/b3B2/2BhZf9VVlr/TU5R/0hJS/9ERUf/QUJF/0BB + Q/8/QEL/P0BD/0BBQ/9CQ0X/RUVI/0lJTP9PT1P/V1hc/2JjZ/93eH7/09TW//////////////////// + ///////////////////////////////////p6fv/XV3l/z4+4P85OeDwPDzg/0BA4f91den/9/f+//// + /////////////////////////////////////////////+np6v+EhYr/Y2Rp/1dYXP9OT1L/R0hL/0JD + Rv8/QEL/Pj5A/z09P/88PT//PD0//z09QP8+P0H/QEFD/0NERv9ISUz/T1BT/1laXv9lZmv/lJWa//X1 + 9f/////////////////////////////////////////////////p6fv/XV3l/z4+4f85OeDwPDzg/0BA + 4f91den/9/f+/////////////////////////////////////////////////7y8v/9rbHH/XF1h/1FR + Vf9ISUz/Q0NG/z9AQv89PT//Ozw+/zs7Pf86Oz3/Ojs9/zs7Pf87PD7/PT5A/0BAQ/9EREf/SktO/1NT + V/9fYGT/cnN4/9HR0//////////////////////////////////////////////////p6fv/XV3l/z4+ + 4f85OeDwPDzg/0BA4f90dOn/9/f+////////////////////////////////////////////9/f4/5SV + mf9kZWn/V1db/0xNUP9FRkj/QEFD/z09QP87PD7/Ojs9/zk6PP85Ojz/OTo8/zk6PP86Oz3/Ozw+/z0+ + QP9BQUT/RkdJ/05PUv9ZWl7/Z2ht/6mqrv/+/v7///////////////////////////////////////// + ///p6fv/XV3l/z4+4P85OeDwOzvg/z8/4f90dOn/9/f+//////////////////////////////////// + ////////6Ojq/35/hP9gYWX/U1RX/0lKTf9CQ0b/Pj9B/zw8Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6 + PP85Ojz/Ojs9/zw9P/8/QEL/RERH/0tMT/9VVlr/YmNo/46PlP/19fb///////////////////////// + ///////////////////p6fv/XFzl/z094P85OeDwOjrg/z4+4P9zc+n/9/f+//////////////////// + ////////////////////////29vd/3R1ev9eX2P/UVJV/0dIS/9BQkT/PT5A/zs7Pf86Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv8+PkH/QkNF/0lKTf9TVFf/YGFm/4GCh//s7O3///////// + ///////////////////////////////////o6Pv/W1vl/zw84P84ON/wOTng/z094P9ycun/9/f+//// + ////////////////////////////////////////1dbY/3Fyd/9dXmL/UFFU/0dISv9BQUT/PT1A/zs7 + Pf85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv89PkD/QkJF/0hJTP9SU1b/X2Bl/31+ + g//o6On////////////////////////////////////////////o6Pv/Wlrl/zs74P83N9/wODjf/zs7 + 4P9xcen/9/f+////////////////////////////////////////////2dnb/3N0ef9dXmP/UFFV/0dI + S/9BQkT/PT5A/zs7Pf86Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojz/Ojo8/zs8Pv8+PkH/QkNF/0lJ + TP9TU1f/YGFl/3+Ahf/q6+z////////////////////////////////////////////o6Pv/WVnl/zo6 + 4P81Nd/wNjbf/zk54P9vb+j/9/f+////////////////////////////////////////////5eXm/3t8 + gf9fYGX/UlNX/0lJTP9CQ0X/Pj9B/zs8Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojz/Ojs9/zw8 + Pv8/P0H/Q0RG/0pLTv9VVVn/YmNn/4qLkP/z8/T///////////////////////////////////////// + ///o6Pv/V1fk/zg44P80NN/wNDTf/zc33/9ubuj/9/f+//////////////////////////////////// + ////////9PT1/46Pk/9jZGj/Vlda/0tMT/9ERUj/P0BC/zw9P/87Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP86Oz3/Ozw+/z0+QP9AQUP/RUZJ/01OUf9YWV3/ZWZr/6Kjp//8/P3///////////////////////// + ///////////////////o6Pv/VVXk/zY23/8yMt/wMjLf/zU13/9sbOj/9/f+//////////////////// + /////////////////////////////7Kytv9pam//W1xg/09QVP9HSEv/QkNF/z4/Qf88PT//Ozw+/zo7 + Pf86Oz3/Ojs9/zo7Pf87PD7/PT0//z9AQv9DREb/SUpM/1FSVv9dXmL/bm90/8jIy/////////////// + ///////////////////////////////////n5/v/U1Pk/zQ03/8vL97wLy/e/zIy3/9qauf/9/f+//// + /////////////////////////////////////////////+Dg4v98fYL/YWJn/1ZWWv9MTVD/RkdJ/0JC + Rf8/P0L/PT5A/zw9P/88PD7/PDw+/zw9P/89PkD/P0BC/0JDRf9HSEv/Tk9S/1hYXP9kZWn/iouQ/+/v + 8P/////////////////////////////////////////////////n5/v/UVHj/zEx3v8tLd7wLS3e/y8v + 3v9oaOf/9/f+//////////////////////////////////////////////////39/f+ys7X/bG1x/15f + Y/9TVFj/TE1Q/0ZHSv9DREb/QEFE/z9AQv8/P0H/Pz9C/z9AQv9BQkT/Q0RH/0dIS/9NTlH/VVZa/2Bh + Zf9yc3f/xsfI///////////////////////////////////////////////////////n5/v/Tk7j/y4u + 3v8qKt3wKird/y0t3v9cXOX/0dH4/9nZ+f/a2vn/29v5/93d+v/e3vr/39/6/+Dg+v/h4fr/4uL6/+Xl + /P/U1ez/hoeX/2hpbv9dXmL/VFVZ/05OUv9JSk3/RkdK/0RFSP9DREf/Q0RH/0RFSP9GR0r/SktO/09P + U/9VVlr/X2Bk/2tscf+UlKj/3d30/+Tk+//i4vr/4eH6/+Dg+v/f3/r/3d36/9zc+f/b2/n/2tr5/9ra + +f/Dw/b/R0fi/yws3v8oKN3wJyfd/yws3v81Nd//RETh/0pK4v9QUOP/VVXk/1tb5f9gYOb/Zmbn/2tr + 6P9xcej/dnbp/3t76v+AgOz/fn7W/3Z3kf9qa2//X2Bl/1hYXP9SU1b/Tk9S/0xNUP9LTE//S0xP/0xN + UP9PUFP/U1RX/1laXv9hYmb/bW5y/3h5nf9+f9//fn7s/3l56v90dOn/b2/o/2pq5/9kZOf/X1/m/1lZ + 5f9TU+T/Tk7j/0hI4v9BQeH/MTHe/yoq3f8lJd3wJCTc/ykp3f8uLt7/MzPf/zk54P8/P+H/RUXi/0pK + 4v9QUOP/Vlbk/1tb5f9hYeb/Zmbn/2tr6P9wcOj/dXXq/3l52P93eJ3/b3B2/2Znav9fYGT/Wltf/1dY + XP9WV1r/Vldb/1hYXP9bXGD/YGFl/2dobP9xcnv/eHmp/3h43/9zc+r/bm7o/2lp5/9kZOf/X1/m/1pa + 5f9UVOT/Tk7j/0hI4v9DQ+H/PT3g/zc33/8xMd7/LCze/ycn3f8iItzwISHc/yUl3f8rK93/MDDe/zY2 + 3/87O+D/QUHh/0ZG4v9MTOP/UVHk/1dX5P9cXOX/YWHm/2Vl5/9qauf/bm7o/3Jy6v92duP/eHi9/3V2 + kf9wcXn/a2xv/2doa/9lZmn/ZWZq/2hpbP9rbXD/cXJ8/3Z3mP93eMb/dHTm/3Bw6f9sbOj/aGjn/2Nj + 5v9fX+b/Wlrl/1VV5P9PT+P/Skri/0RE4f8/P+H/OTng/zQ03/8uLt7/KSnd/yMj3P8fH9zwHh7b/yIi + 3P8nJ93/LCze/zIy3/83N9//PDzg/0JC4f9HR+L/TEzj/1FR4/9WVuT/Wlrl/19f5v9jY+b/Z2fn/2tr + 6P9ubun/cXHq/3R04P92dsn/dnex/3Z2oP91dpj/dXaZ/3Z3ov92d7X/dXbO/3Nz4/9wcOr/bW3o/2lp + 5/9lZef/YWHm/11d5f9ZWeX/VFTk/09P4/9KSuL/RUXi/z8/4f86OuD/NTXf/zAw3v8qKt3/JSXd/yAg + 3P8cHNvpGhrb7h4e2/8jI9z/KCjd/y0t3v8yMt//Nzff/z094P9BQeH/Rkbi/0tL4/9QUOP/VFTk/1hY + 5f9cXOX/YGDm/2Nj5v9mZuf/aWnn/2tr6P9tben/b2/p/3Bw5/9wcOX/cHDl/29v5/9ubun/bGzp/2pq + 6P9oaOf/ZWXn/2Ji5v9fX+b/W1vl/1dX5P9SUuT/Tk7j/0lJ4v9FReL/QEDh/zo64P81Nd//MDDe/ysr + 3v8mJt3/IiLc/x0d2/8ZGdvHGBjaqxsb2/8gINz/JCTc/ykp3f8uLt7/MzPf/zc33/88POD/QUHh/0VF + 4v9KSuL/Tk7j/1JS5P9WVuT/WVnl/1xc5f9fX+b/YmLm/2Rk5v9lZef/Zmbn/2dn5/9oaOf/aGjn/2dn + 5/9mZuf/ZWXn/2Nj5v9hYeb/Xl7m/1tb5f9YWOX/VFTk/1BQ4/9MTOP/SEji/0RE4f8/P+H/Ozvg/zY2 + 3/8xMd7/LCze/ycn3f8jI9z/Hh7b/xkZ2/wXF9p+FhbaQRgY2uUcHNv/ICDc/yUl3P8pKd3/Li7e/zIy + 3/83N9//Ozvg/z8/4f9EROH/SEji/0tL4/9PT+P/UlLk/1VV5P9YWOX/Wlrl/1xc5f9eXuX/X1/m/19f + 5v9gYOb/YGDm/19f5v9eXub/XV3l/1tb5f9ZWeX/V1fk/1RU5P9RUeP/Tk7j/0pK4v9GRuL/QkLh/z4+ + 4P86OuD/NTXf/zEx3v8sLN7/KCjd/yMj3P8fH9z/Ghrb/xcX2s4VFdojEhLZAhYW2nAYGNv1HBzb/yAg + 3P8lJdz/KSnd/y0t3v8xMd7/Njbf/zo64P89PeD/QUHh/0VF4v9ISOL/S0vj/05O4/9QUOP/U1Pk/1VV + 5P9WVuT/V1fk/1hY5f9YWOX/WFjl/1hY5f9XV+T/VVXk/1RU5P9SUuT/UFDj/01N4/9KSuL/R0fi/0RE + 4f9AQOH/PDzg/zg44P80NN//MDDe/ysr3v8nJ93/IyPc/x8f3P8aGtv/Fxfa6RUV2lAXF9oAFRXaABQU + 2gcWFtptGRnb4xwc2/8gINz/JCTc/ygo3f8sLN7/MDDe/zQ03/83N9//Ozvg/z4+4f9BQeH/RETh/0dH + 4v9JSeL/S0vj/01N4/9OTuP/T0/j/1BQ4/9QUOP/UFDj/1BQ4/9PT+P/Tk7j/0xM4/9LS+L/SEji/0ZG + 4v9DQ+H/QEDh/z094P86OuD/Njbf/zIy3/8uLt7/Kyvd/ycn3f8jI9z/Hh7b/xsb2/4XF9rUFRXaUhMT + 2gIUFNoAAAAAABYW2gAUFNoCFxfaORoa254cHNvhICDc+yQk3P8nJ93/Kyvd/y8v3v8yMt//NTXf/zk5 + 4P87O+D/Pj7g/0FB4f9DQ+H/RUXi/0ZG4v9ISOL/SUni/0lJ4v9KSuL/Skri/0lJ4v9ISOL/R0fi/0ZG + 4v9EROH/QkLh/0BA4f89PeD/Ozvg/zg43/80NN//MTHe/y0t3v8qKt3/Jibd/yIi3P8eHtv5Gxvb2BgY + 24wWFtopBgbYABQU2gAAAAAAwAAAAAAHAACAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACAAAAAAAEAAMAAAAAABwAAKAAAAEAAAACAAAAAAQAgAAAA + AAAAQAAAnQQAAJ0EAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkMEhLZThIS2aQSEtneEhLZ+BIS + 2f8SEtr/FBTa/xUV2v8XF9r/GRnc/x0dzf8oKJf/MTJk/zY2Tf83N0j/NzdI/zc4SP83OEj/NzhI/zc4 + SP83OEj/NzhI/zc4SP83OEj/NzhI/zc4SP83OEj/ODhI/zc4SP83OEj/NzhI/zc4SP83OEj/NzhI/zc4 + SP83OEj/NzhI/zc3SP83N0j/NzdI/zU2Uf8vMG//JSWm/xsb1f8YGNz/Fhba/xQU2v8TE9r/EhLa/xIS + 2f4SEtn0EhLZ0xIS2ZASEtk5EhLZBRIS2QAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkuEhLZphIS + 2fASEtn/EhLZ/xIS2v8TE9r/FRXa/xYW2v8YGNv/Ghrc/yEhvv8xMWj/ODk//zk6Ov85Ojr/OTo7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6O/85Ojr/OTo6/zc4Q/8tLX3/Hh7N/xkZ + 3P8XF9r/FRXa/xQU2v8SEtr/EhLZ/xIS2f8SEtn+EhLZ5RIS2YcSEtkZEhLZABIS2QAAAAAAEhLZABIS + 2QASEtlDEhLZ1RIS2f8SEtn/EhLZ/xIS2v8TE9r/FRXa/xcX2v8aGtv/HBzc/yIixP8zNFz/OTo5/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojv/OTo6/y8vdf8eHtP/Gxvc/xkZ2/8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2f8SEtn9EhLZtxIS + 2SQSEtkAEhLZABIS2QASEtkyEhLZ1xIS2f8SEtn/EhLZ/xMT2v8UFNr/Fhba/xkZ2/8bG9v/HR3c/yAg + 2f8vL3z/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OT7/Kiqc/x4e3f8cHNv/Ghrb/xgY2v8VFdr/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtmzEhLZFhIS2QASEtkQEhLZrhIS2f8SEtn/EhLZ/xMT2v8VFdr/Fxfa/xkZ + 2/8cHNv/Hh7b/yEh3v8nJ8H/NzdL/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo5/zM0Y/8jI9P/ICDc/x0d + 2/8bG9v/GBjb/xYW2v8UFNr/EhLa/xIS2f8SEtn/EhLZ/RIS2X4SEtkBEhLZXhIS2fQSEtn/EhLa/xMT + 2v8VFdr/Fxfa/xoa2/8dHdv/Hx/c/yIi3P8lJd//LS2l/zk5Pf85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6 + Ov83OEr/KSnC/yMj3v8hIdz/Hh7b/xsb2/8ZGdv/Fhba/xQU2v8SEtr/EhLZ/xIS2f8SEtncEhLZLhIS + 2bgSEtn/EhLa/xMT2v8VFdr/GBja/xoa2/8dHdv/ICDc/yMj3P8mJt3/KSjg/zExmP85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/ODlE/y0tuP8nJ9//JCTc/yEh3P8fH9z/HBzb/xkZ2/8XF9r/FBTa/xIS + 2v8SEtn/EhLZ/BIS2XwSEtnxEhLZ/xMT2v8VFdr/GBja/xsb2/8eHtv/ISHc/yQk3P8nJ93/Kird/yws + 4P8zM5X/OTk6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zg5Q/8wMLb/Kyvg/ygo3f8lJd3/IiLc/x8f + 3P8cHNv/GRnb/xcX2v8UFNr/EhLa/xIS2f8SEtm8EhLZ/xMT2v8VFdr/GBja/xsb2/8eHtv/ISHc/yQk + 3P8nJ93/Kird/y0t3v8xMeH/NTaW/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OUP/MzO3/y8v + 4P8sLN7/KSnd/yYm3f8jI9z/Hx/c/xwc2/8ZGdv/Fhba/xQU2v8SEtr/EhLZ3hMT2v8VFdr/Fxfa/xoa + 2/8eHtv/ISHc/yQk3P8nJ93/Kyvd/y4u3v8xMd7/NTXh/zg4lv85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP85Ojv/OTo8/zk6O/85Ojv/OTo8/zk6 + PP85Ojv/OTo8/zk6PP85Ojv/OTo8/zk6PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTpD/zc3t/8zM+H/MDDe/y0t3v8pKd3/Jibd/yMj3P8fH9z/HBzb/xkZ2/8WFtr/ExPa/xIS + 2ukUFNr/Fxfa/xoa2/8dHdv/ISHc/yQk3P8nJ93/Kyvd/y4u3v8yMt//NTXf/zk54v87O5j/Ozs8/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Rf86Orj/Nzfi/zQ03/8wMN7/LS3e/ykp3f8mJt3/IiLc/x8f + 3P8cHNv/GBjb/xUV2v8TE9rqFhba/xkZ2/8dHdv/ICDc/yQk3P8nJ93/Kyvd/y4u3v8yMt//Njbf/zk5 + 4P89PeP/Pj+Z/z0+P/89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+P/89Pkf/Pj65/zs74v83N9//NDTf/zAw + 3v8tLd7/KSnd/yUl3f8iItz/Hh7b/xsb2/8YGNr/FRXa6hkZ2/8cHNv/Hx/c/yMj3P8nJ93/Kird/y4u + 3v8yMt//Njbf/zk54P89PeD/QUHj/0JCm/9AQEL/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/P0BD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBK/0FC + uv8/P+P/Ozvg/zg43/80NN//MDDe/yws3v8oKN3/JSXc/yEh3P8eHtv/Ghrb/xcX2uobG9v/Hh7b/yIi + 3P8mJt3/Kird/y4u3v8yMt//NTXf/zk54P89PeD/QUHh/0VF5P9FRZz/QkNE/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDTP9FRbv/Q0Pj/z8/4f87O+D/Nzff/zMz3/8vL97/LCze/ygo3f8kJNz/ICDc/x0d + 2/8aGtvqHh7b/yEh3P8lJdz/KSnd/yws3v8wMN7/NTXf/zk54P89PeD/QUHh/0VF4v9JSeT/SEmd/0RF + R/9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFR/9FRU//SUm9/0dH5P9DQ+H/Pz/h/zs74P83N9//MzPf/y8v + 3v8rK93/Jyfd/yMj3P8fH9z/HBzb6iAg3P8jI9z/Jyfd/yws3v8wMN7/NDTf/zg44P88POD/QEDh/0RE + 4f9ISOL/TU3l/0xMn/9HSEn/R0hK/0dISv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hR/0xMvv9LS+X/Rkbi/0JC + 4f8+PuD/Ojrg/zY23/8yMt//Li7e/ykp3f8mJt3/ISHc/x4e2+oiItz/Jibd/yoq3f8uLt7/MTHe/zU1 + 3/86OuD/Pj7g/0JC4f9HR+L/S0vi/09P5f9OT6D/SUpM/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpM/0pK + VP9PT7//TU3l/0lJ4v9EROL/QEDh/zw84P83N9//MzPf/y8v3v8sLN7/KCjd/yQk3P8hIdzqJSXc/ygo + 3f8sLN7/ODjg/01N4/9SUuT/Vlbk/1pa5f9eXuX/YWHm/2Vl5/9paen/XV6k/0tMT/9MTE//TExP/0xM + T/9MTFD/TExP/0xMUP9MTFD/TExP/0xMUP9MTFD/TExQ/0xMT/9MTFD/TExQ/0xMUP9MTFD/TExP/0xM + UP9MTFD/TExQ/0xMUP9MTFD/TExQ/0xMUP9MTFD/TExP/0xMT/9MTFD/TExQ/0xMT/9MTE//TExP/0xM + UP9MTE//TExQ/0xMT/9NTlb/Y2PC/2ho6f9jY+b/X1/m/1xc5f9YWOX/VFTk/1BQ4/9JSeL/MjLf/yoq + 3f8mJt3/IyPc6icn3f8rK93/LCze/2Zm5//h4fr/5+f7/+fn+//o6Pv/6Oj7/+np+//p6fz/7Oz+/6Sl + sP9NTlH/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OTlL/VVZa/8TE0v/s7P7/6en8/+jo+//o6Pv/5+f7/+fn + +//o6Pv/z8/3/0dH4v8rK97/KSnd/yUl3eopKd3/LS3e/y4u3v9wcOj/+vr+//////////////////// + //////////////////+0tLb/UFFU/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFU/1paXf/X19j///////// + /////////////////////////////+bm+/9NTeP/Li7e/ysr3f8nJ93qKyvd/y8v3v8xMd7/cXHp//r6 + /v//////////////////////////////////////w8PF/1VWWf9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1JT + Vv9jZGf/4uLj///////////////////////////////////////m5vv/T0/j/zAw3v8tLd7/KSnd6i0t + 3v8xMd7/MzPf/3Nz6f/6+v7//////////////////////////////////////+Li4/9mZ2r/VFVZ/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9TVFj/f4CD//b29v//////////////////////////////////////5ub7/1FR + 4/8yMt//Ly/e/ysr3eovL97/MzPf/zU13/90dOn/+vr+//////////////////////////////////// + ///8/Pz/m5ud/1ZXWv9YWFz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9XWFz/Wltf/7y8vv////////////////////////////// + /////////////+fn+/9SUuT/NDTf/zEx3v8tLd7qMTHe/zU13/83N9//dnbp//r6/v////////////// + /////////////////////////////+bm5/98fYD/WFld/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9ZWl7/WVpe/5WWmf/29vb///////// + ///////////////////////////////////n5/v/VFTk/zY23/8zM9//Ly/e6jIy3/83N9//OTng/3d3 + 6v/6+v7/////////////////////////////////////////////////4ODh/4mJjP9fX2T/Wltf/1pb + YP9bW2D/W1xg/1tbYP9bW2D/W1xg/1tbYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1xdYf9cXWH/XF1h/1xd + Yf9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1tg/1tcYP9bXGD/W1xg/1pbX/9aW1//Y2Ro/56e + of/v7/D/////////////////////////////////////////////////5+f7/1ZW5P84OOD/NDTf/zAw + 3uo0NN//ODjg/zs74P94eOr/+vr+//////////////////////////////////////////////////// + ///y8vP/wsLE/5aWmf+Cg4b/fn+C/35/gv9+f4L/fn+C/35/gv9+f4L/f3+D/4CAhP+AgIT/fHyA/3N0 + eP9rbHD/Zmds/2dobf9tbnL/dnZ6/31+gf+AgYT/f4CE/35/g/9+f4L/fn+C/35/g/9+f4L/fn+C/35/ + g/+Fhon/n5+i/9DQ0f/5+fn//////////////////////////////////////////////////////+fn + +/9XV+X/Ojrg/zY23/8yMt/qNTXf/zo64P88POD/eXnq//r6/v////////////////////////////// + ///////////////////////////////////8/Pz/9vb2//T09P/09PT/9PT0//T09P/09PX/9vb2//Hx + 8f/a2tz/t7e6/5iZnf+EhYr/eXqA/3V2e/91d3z/e3yC/4iJjv+foKT/wMDD/+Hi4//09PT/9fX1//T0 + 9P/09PT/9PT0//T09P/09PT/9/f3//7+/v////////////////////////////////////////////// + ///////////////////o6Pv/WVnl/zs74P83N9//MzPf6jc33/87O+D/Pj7g/3p66v/6+v7///////// + //////////////////////////////////////////////////////////////////////////////// + /////////f39/+Dg4v+qqq7/goOI/3Fyd/9rbHL/aWpv/2dobf9naGz/Z2hs/2hpbf9pam//bG1z/3R1 + ev+Jio//t7i7/+vr7P////////////////////////////////////////////////////////////// + ////////////////////////////////////////6Oj7/1pa5f88POD/OTng/zQ03+o4ON//PDzg/z8/ + 4f97e+r/+vr+//////////////////////////////////////////////////////////////////// + ////////////////////////9PT1/7m6vf+AgYf/bW5z/2dobf9jZGn/X2Bl/11eYv9bXGD/Wltf/1pb + X/9bXGD/XV5i/2BhZv9kZWr/aGlv/29wdv+LjJH/y8vO//r7+/////////////////////////////// + /////////////////////////////////////////////////////////////+jo+/9bW+X/Pj7g/zo6 + 4P81Nd/qOTng/z094P9AQOH/fHzq//r6/v////////////////////////////////////////////// + ////////////////////////////////////////7Ozt/6Chpf9yc3n/aGlu/2JjaP9dXWL/WFld/1VW + Wv9TVFf/UVJW/1FSVf9RUlX/UlJW/1NUWP9WV1r/WVpe/15fY/9kZWn/amtw/3h5f/+1tbn/9vb3//// + //////////////////////////////////////////////////////////////////////////////// + ///o6Pv/XFzl/z8/4f87O+D/Njbf6jo64P8+PuH/QUHh/3196v/6+v7///////////////////////// + ////////////////////////////////////////////////////////7Ozt/5manv9ub3X/Zmds/15f + ZP9YWV3/U1RY/1BRVP9NTlH/S0xP/0pLTv9JSk3/SUpN/0pLTv9MTE//Tk5S/1FRVf9VVVn/Wltf/2Bh + Zf9oaW7/c3R6/6+vs//39/j///////////////////////////////////////////////////////// + ////////////////////////6Oj7/11d5f9AQOH/PDzg/zc33+o6OuD/Pz/h/0FB4f99fer/+vr+//// + ////////////////////////////////////////////////////////////////////////9fX1/6Gi + pv9ub3X/ZWZr/11dYv9WV1r/UFFV/0xNUP9JSk3/R0hK/0VGSf9ERUj/REVH/0RFR/9ERUj/RkZJ/0dI + S/9KS07/TU5R/1JSVv9XWFz/X19k/2dobf90dXr/urq+//z8/f////////////////////////////// + /////////////////////////////////////////////+jo+/9dXeX/QEDh/zw84P84ON/qOjrg/z8/ + 4f9CQuH/fn7r//r6/v////////////////////////////////////////////////////////////// + /////////v7+/7u8v/9yc3n/Zmds/11dYv9VVlr/T1BT/0pLTv9HSEr/REVI/0JDRf9BQkT/QEFD/0BB + Q/9AQUP/QEFD/0FCRP9DQ0b/RUZI/0hIS/9LTE//UFFV/1dYW/9fYGT/aGlu/3x9gv/U1df///////// + ///////////////////////////////////////////////////////////////////o6Pv/Xl7m/0FB + 4f89PeD/ODjg6js74P9AQOH/QkLh/35+6//6+v7///////////////////////////////////////// + /////////////////////////////+Hi4/+Cg4j/aGlv/15fZP9WV1v/T1BT/0pLTv9GR0n/Q0NG/0FB + RP8/QEL/Pj9B/z0+QP89PkD/PT5A/z0+QP8+P0H/P0BC/0FCRP9DREf/R0dK/0tMT/9RUVX/WFld/2Fi + Zv9rbHH/lZab//Pz8/////////////////////////////////////////////////////////////// + ////////6Oj7/15e5v9BQeH/PT3g/zg44Oo7O+D/QEDh/0JC4f9+fuv/+vr+//////////////////// + //////////////////////////////////////////////39/f+srbH/bW50/2JjaP9YWV3/UVFV/0pL + Tv9GR0n/QkNG/0BAQ/8+P0H/PT0//zw9P/87PD7/Ozw+/zs8Pv87PD7/PD0//z0+QP8+P0H/QEFD/0NE + Rv9HSEr/TE1Q/1JTV/9bXGD/ZWZr/3R1ev/Iycv///////////////////////////////////////// + /////////////////////////////+jo+/9eXub/QUHh/z094P84OODqOzvg/0BA4f9CQuH/fn7r//r6 + /v/////////////////////////////////////////////////////////////////o6On/hISK/2hp + bv9dXmL/VFVY/0xNUP9HSEr/Q0NG/0BAQ/8+PkD/PD0//zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7 + Pf87PD7/PD0//z4/Qf9AQUT/REVH/0hJTP9OT1L/Vlda/2BhZf9qa3D/mZqf//f4+P////////////// + ///////////////////////////////////////////////////o6Pv/Xl7m/0FB4f89PeD/ODjg6js7 + 4P9AQOH/QkLh/35+6//6+v7///////////////////////////////////////////////////////// + ////////x8fK/3FzeP9kZGn/WVpd/1BRVP9JSk3/REVI/0FBRP8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs8Pv89PT//Pz9C/0FCRf9FRkn/S0xP/1JTVv9bXGD/Zmds/31+ + g//h4eL/////////////////////////////////////////////////////////////////6Oj7/15e + 5v9BQeH/PT3g/zg44Oo6OuD/Pz/h/0JC4f9+fuv/+vr+//////////////////////////////////// + /////////////////////////f39/6iprf9rbHL/YGFl/1VWWv9NTlH/R0hL/0JDRv8/QEL/PT1A/zs8 + Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozw+/z0+QP9AQUP/Q0RH/0hJ + TP9PUFP/WFld/2NkaP9xcnf/xcbI//////////////////////////////////////////////////// + /////////////+jo+/9eXuX/QEDh/zw84P84OODqOjrg/z8/4f9BQeH/fX3q//r6/v////////////// + //////////////////////////////////////////////b39/+TlJn/aWpv/11eYv9TVFj/S0xP/0ZG + Sf9BQkT/Pj9B/zw9P/87Oz3/Ojo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojs8/zs8 + Pv88PT//Pz9C/0JDRf9HSEr/TU5R/1ZWWv9gYWb/bG1y/6+vs/////////////////////////////// + ///////////////////////////////////o6Pv/XV3l/0BA4f88POD/Nzff6jk54P8+PuD/QEDh/3x8 + 6v/6+v7////////////////////////////////////////////////////////////v8PD/iImO/2do + bf9cXWH/UlNW/0pLTv9FRUj/QEFE/z0+QP87PD7/Ojs9/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo8/zo6PP86Oz3/PD0//z4/Qf9BQkT/RkdJ/0xNUP9UVVn/X19k/2prcP+hoab//Pz8//// + ////////////////////////////////////////////////////////6Oj7/1xc5f8/P+H/Ozvg/zc3 + 3+o4OOD/PT3g/z8/4f98fOr/+vr+//////////////////////////////////////////////////// + ////////6+zt/4SFiv9naGz/W1xg/1FSVv9KS03/REVH/0BBQ/89PkD/Ozw+/zo7Pf85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/Ojs9/zw8Pv8+P0H/QUJE/0VGSf9LTE//U1RY/15f + Y/9pam//m5yg//r6+v///////////////////////////////////////////////////////////+jo + +/9cXOX/Pj7h/zo64P82Nt/qNzff/zw84P8+PuH/e3vq//r6/v////////////////////////////// + /////////////////////////////+zt7v+Fhov/Z2ht/1tcYP9RUlb/SktO/0RFSP9AQUP/PT5A/zs8 + Pv86Oz3/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zo7Pf88PD7/Pj9B/0FC + RP9FRkn/TExP/1RUWP9eX2P/aWpw/5ydof/6+/v///////////////////////////////////////// + ///////////////////o6Pv/W1vl/z094P85OeD/NTXf6jY23/87O+D/PT3g/3p66v/6+v7///////// + ///////////////////////////////////////////////////y8vP/i4yR/2hpbv9cXWH/UlNX/0tL + Tv9FRkj/QUFE/z4+QP88PD7/Ojs9/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zo6 + PP87Oz3/PD0//z4/Qf9CQkX/RkdK/0xNUP9VVVn/X2Bk/2prcf+lpqr//f39//////////////////// + ////////////////////////////////////////6Oj7/1lZ5f88POD/ODjg/zQ03+o1Nd//OTng/zw8 + 4P95eer/+vr+////////////////////////////////////////////////////////////+fn6/5qb + n/9panD/Xl9j/1RVWP9MTVD/RkdK/0JCRf8+P0H/PD0//zs7Pf86Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo8/zk6PP86Oz3/Ozw+/z09P/8/QEL/Q0NG/0dIS/9OT1L/Vldb/2FiZ/9tbnT/tre6//// + /////////////////////////////////////////////////////////////+fn+/9YWOX/Ojrg/zc3 + 3/8yMt/qMzPf/zg43/86OuD/eHjq//r6/v////////////////////////////////////////////// + //////////////////+zs7f/bW5z/2FiZ/9XV1v/Tk9S/0hJS/9DREb/QEBD/z0+QP87PD7/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ozz/Ozs9/zw9P/8+PkH/QEFD/0RFSP9JSk3/UFFU/1la + Xv9kZWr/dHV7/8/Q0v////////////////////////////////////////////////////////////// + ///n5/v/V1fk/zk54P81Nd//MTHe6jEx3v82Nt//ODjg/3Z26f/6+v7///////////////////////// + ////////////////////////////////////////1NTW/3Z3ff9lZmv/Wltf/1FSVv9KS07/RUZJ/0FC + Rf8/P0L/PT0//zs8Pv86Oz3/Ojs9/zo6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs9/zw8Pv89PkD/P0BC/0JD + Rf9GR0r/TE1Q/1NUWP9dXmL/aGlu/4WGi//q6+z///////////////////////////////////////// + ////////////////////////5+f7/1VV5P83N9//NDTf/zAw3uowMN7/NDTf/zY23/91den/+vr+//// + //////////////////////////////////////////////////////////////Ly8/+QkZb/aWpw/19g + ZP9VVlr/Tk9S/0hJTP9ERUf/QUFE/z4/Qf89PUD/PDw+/zs8Pv87Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zw9 + P/89PkD/Pz9C/0FCRP9FRkj/SUpN/1BQVP9YWFz/YmNn/2xtc/+pqq7//P39//////////////////// + /////////////////////////////////////////////+fn+/9TU+T/NTXf/zIy3/8uLt7qLi7e/zIy + 3/80NN//dHTp//r6/v////////////////////////////////////////////////////////////// + ////////wcHE/3JzeP9lZmr/W1tg/1JTV/9MTVD/R0hL/0NER/9BQUT/Pz9C/z0+QP89PT//PD0//zw8 + P/88PD//PD0//z09QP8+PkH/P0BC/0FCRf9ERUj/SElM/01OUv9UVVn/XV5i/2dobf98fYL/29vd//// + ///////////////////////////////////////////////////////////////////m5vv/UlLk/zMz + 3/8wMN7/LCze6iws3v8wMN7/MjLf/3Jy6f/6+v7///////////////////////////////////////// + //////////////////////////////Dx8f+TlJn/a2xx/2FiZ/9YWV3/UVJV/0xMUP9HSEv/REVH/0JC + Rf9AQUP/P0BC/z4/Qf8+P0H/Pj9B/z4/Qf8/QEL/QEFE/0JDRv9FRkj/SElM/01OUf9TVFf/Wltf/2Rl + af9ub3X/q6yw//v7+/////////////////////////////////////////////////////////////// + ////////5ub7/1BQ4/8xMd7/Li7e/yoq3eoqKt3/Li7e/y8v3v9xcen/+vr+//////////////////// + ////////////////////////////////////////////////////////1tfY/3+AhP9pam//YGBl/1hZ + XP9RUlb/TE1Q/0lJTP9GR0n/REVH/0JDRv9CQkX/QUJE/0FCRP9CQkX/Q0NG/0RFSP9GR0r/SkpN/05O + Uv9TVFf/WVpe/2JjZ/9rbHH/j5CT/+rq6/////////////////////////////////////////////// + /////////////////////////////+bm+/9OTuP/Ly/e/yws3v8oKN3qKCjd/yws3v8vL97/UlLk/5mZ + 7/+envD/oKDw/6Ki8P+lpfH/p6fx/6mp8f+srPL/rq7y/7Cw8/+ysvP/tLTz/7a29P+4uPT/u7v0/7q6 + 8/+PkLz/c3R9/2lqbv9gYWX/WVpe/1NUWP9PUFP/S0xP/0lKTf9HSEv/RkdK/0ZGSf9GR0n/RkdK/0hI + S/9KSk3/TE1Q/1BRVP9UVVn/Wltf/2JjZ/9rbHD/dneG/5yd0P+8vPX/ubn0/7e39P+1tfP/s7Pz/7Gx + 8/+vr/L/ra3y/6qq8v+oqPH/pqbx/6Sk8f+hofD/n5/w/56e8P+Oju3/Pz/h/y0t3v8qKt3/Jibd6iYm + 3f8pKd3/Li7e/zEx3/80NN//OTng/z094P9CQuH/R0fi/0tL4/9PT+P/VFTk/1hY5f9dXeX/YWHm/2Vl + 5/9qauf/bW3o/3Fx6f91der/enrn/3t8tP90dX7/amtv/2JjaP9cXWH/V1db/1NUV/9QUVT/Tk9S/0xN + UP9MTVD/TE1Q/01OUf9OT1L/UFFV/1RUWP9YWV3/XV5i/2Rlav9tbnH/dneG/3t7xf94eOr/c3Pp/29v + 6P9sbOj/aGjn/2Nj5v9fX+b/W1vl/1ZW5P9SUuT/TU3j/0lJ4v9EROH/QEDh/zs74P83N9//MjLf/zAw + 3v8sLN7/Jyfd/yQk3OojI9z/Jyfd/yws3v8vL97/NDTf/zg44P88POD/QUHh/0VF4v9KSuL/Tk7j/1JS + 5P9WVuT/W1vl/19f5v9jY+b/Z2fn/2tr6P9ubuj/cnLp/3V16v94eef/enu8/3Z3hv9ub3P/Zmds/2Fi + Zv9cXWH/WVpd/1ZXW/9VVln/VFVZ/1RVWf9VVlr/V1hb/1laXv9dXmL/YmNn/2hpbf9wcXX/eHmR/3p6 + y/93d+r/dHTp/3Bw6P9sbOj/aWnn/2Vl5/9hYeb/XV3l/1lZ5f9VVeT/UFDj/0xM4/9HR+L/Q0Ph/z8/ + 4f86OuD/Njbf/zIy3/8tLd7/KSnd/yUl3f8iItzqISHc/yUl3P8pKd3/LS3e/zEx3v81Nd//OTng/z4+ + 4P9CQuH/Rkbi/0pK4v9PT+P/UlLk/1dX5P9aWuX/Xl7m/2Ji5v9mZuf/aWnn/21t6P9wcOj/c3Pp/3Z2 + 6f95edD/eHme/3R1ff9tbnL/aGlt/2Rlaf9hYmf/X2Bl/19fZP9fYGT/YGFl/2JjZ/9lZmr/aWpu/29w + dP91doP/eXqq/3h42v90dOr/cXHp/25u6P9ra+j/aGjn/2Rk5v9gYOb/XV3l/1lZ5f9VVeT/UVHj/01N + 4/9ISOL/RETh/0BA4f88POD/Nzff/zMz3/8vL97/Kyvd/ycn3f8jI9z/Hx/c6h8f3P8iItz/Jibd/yoq + 3f8uLt7/MjLf/zY23/86OuD/Pj7h/0ND4f9HR+L/S0vi/09P4/9TU+T/Vlbk/1pa5f9eXuX/YWHm/2Vl + 5/9oaOf/a2vo/25u6P9wcOn/c3Pq/3Z25P94eMb/eHmh/3Z3hv9yc3r/b3B0/21ucv9sbXH/bG1x/21v + cv9wcXX/c3R8/3Z3jP94ean/d3fQ/3R05/9ycur/b2/o/2xs6P9paef/Zmbn/2Nj5v9fX+b/XFzl/1hY + 5f9UVOT/UFDj/01N4/9JSeL/RUXi/0BA4f88POD/ODjg/zQ03/8wMN7/LCze/ygo3f8kJNz/ICDc/x0d + 2+kcHNv/ICDc/yMj3P8nJ93/Kyve/y8v3v8zM9//Nzff/zs74P8/P+H/Q0Ph/0dH4v9KSuL/Tk7j/1JS + 5P9WVuT/WVnl/1xc5f9gYOb/Y2Pm/2Zm5/9paef/a2vo/21t6P9vb+n/cXHq/3Nz5v91ddf/d3fD/3d4 + sf93eKX/d3ig/3d4of93eKj/d3i1/3Z3yP91ddz/cnLo/3Bw6v9ubuj/bGzo/2lp5/9nZ+f/ZGTn/2Fh + 5v9eXub/W1vl/1dX5P9UVOT/UFDj/0xM4/9JSeL/RUXi/0FB4f89PeD/OTng/zU13/8xMd7/LS3e/ykp + 3f8lJd3/IiLc/x4e2/8bG9veGhrb8R0d2/8hIdz/JCTc/ygo3f8sLN7/MDDe/zMz3/83N9//Ozvg/z8/ + 4f9DQ+H/Rkbi/0pK4v9NTeP/UVHj/1RU5P9YWOX/W1vl/15e5f9gYOb/Y2Pm/2Vl5/9oaOf/amrn/2xs + 6P9tbej/bm7p/29v6v9wcOn/cXHo/3Fx5/9xcef/cXHo/3Bw6v9vb+r/bm7p/2xs6P9ra+j/aWnn/2Zm + 5/9kZOf/YmLm/19f5v9cXOX/WVnl/1ZW5P9TU+T/T0/j/0xM4/9ISOL/RUXi/0FB4f89PeD/OTng/zU1 + 3/8yMt//Li7e/yoq3f8mJt3/IyPc/x8f3P8bG9v/GRnbvBgY27gbG9v/Hh7b/yIi3P8lJd3/KSnd/y0t + 3v8wMN7/NDTf/zg43/87O+D/Pz/h/0JC4f9GRuL/SUni/01N4/9QUOP/U1Pk/1ZW5P9ZWeX/W1vl/15e + 5f9gYOb/YmLm/2Rk5v9mZuf/Z2fn/2ho5/9paef/amrn/2tr6P9ra+j/a2vo/2pq6P9qauf/aWnn/2ho + 5/9mZuf/ZWXn/2Nj5v9hYeb/X1/m/1xc5f9aWuX/V1fk/1RU5P9RUeT/Tk7j/0tL4/9ISOL/RETh/0FB + 4f89PeD/OTng/zY23/8yMt//Li7e/ysr3f8nJ93/IyPc/yAg3P8cHNv/GRnb/BcX2nwXF9peGBja9Bsb + 2/8fH9z/IiLc/yYm3f8pKd3/LS3e/zAw3v80NN//Nzff/zs74P8+PuD/QUHh/0VF4v9ISOL/S0vj/05O + 4/9RUeP/U1Pk/1ZW5P9YWOX/Wlrl/11d5f9eXub/YGDm/2Fh5v9iYub/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl + 5/9kZOf/ZGTm/2Nj5v9iYub/YWHm/19f5v9dXeX/XFzl/1pa5f9XV+T/VVXk/1JS5P9PT+P/TU3j/0pK + 4v9GRuL/Q0Ph/0BA4f88POD/OTng/zY23/8yMt//Li7e/ysr3f8nJ93/JCTc/yAg3P8dHdv/Ghrb/xcX + 2twWFtouFRXaEBYW2q4ZGdv/HBzb/x8f3P8iItz/Jibd/ykp3f8sLN7/MDDe/zMz3/83N9//Ojrg/z09 + 4P9AQOH/Q0Ph/0ZG4v9JSeL/TEzj/09P4/9RUeP/U1Pk/1VV5P9XV+T/WVnl/1pa5f9cXOX/XV3l/15e + 5f9eXub/X1/m/19f5v9fX+b/X1/m/15e5v9dXeX/XFzl/1tb5f9aWuX/WFjl/1ZW5P9UVOT/UlLk/1BQ + 4/9NTeP/S0vi/0hI4v9FReL/QkLh/z8/4f88POD/ODjg/zU13/8yMt//Li7e/ysr3f8oKN3/JCTc/yEh + 3P8eHtv/Ghrb/xcX2v0VFdp+ERHZARYW2gAVFdoyFhba1xkZ2/8cHNv/Hx/c/yMj3P8mJt3/KSnd/yws + 3v8vL97/MzPf/zY23/85OeD/PDzg/z8/4f9CQuH/RETh/0dH4v9KSuL/TEzj/05O4/9QUOP/UlLk/1NT + 5P9VVeT/Vlbk/1dX5P9YWOX/WFjl/1lZ5f9ZWeX/WVnl/1lZ5f9YWOX/WFjl/1ZW5P9VVeT/VFTk/1JS + 5P9RUeP/T0/j/01N4/9LS+L/SEji/0ZG4v9DQ+H/QEDh/z4+4P87O+D/Nzff/zQ03/8xMd7/Li7e/yoq + 3f8nJ93/JCTc/yEh3P8eHtv/Ghrb/xgY2v8WFtqzFBTaFhUV2gATE9oAHR3bABUV2kMXF9rVGRnb/xwc + 2/8fH9z/IiLc/yUl3f8oKN3/LCze/y8v3v8yMt//NTXf/zc33/86OuD/PT3g/z8/4f9CQuH/RETh/0dH + 4v9JSeL/S0vi/0xM4/9OTuP/T0/j/1FR4/9RUeT/UlLk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/UlLk/1JS + 5P9RUeP/UFDj/09P4/9NTeP/TEzj/0pK4v9ISOL/Rkbi/0ND4f9BQeH/Pj7h/zw84P85OeD/Njbf/zMz + 3/8wMN7/LS3e/yoq3f8nJ93/JCTc/yEh3P8eHtv/Gxvb/xgY2v0WFtq3FRXaJBUV2gAVFdoAAAAAABQU + 2gAnJ90AFhbaLhcX2qYZGdvwHBzb/x8f3P8iItz/JSXc/ygo3f8rK93/LS3e/zAw3v8zM9//Njbf/zg4 + 4P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+L/SEji/0pK4v9LS+P/TEzj/0xM4/9NTeP/TU3j/01N + 4/9OTuP/TU3j/01N4/9MTOP/S0vj/0pK4v9JSeL/SEji/0ZG4v9EROH/QkLh/0FB4f8+PuH/PDzg/zo6 + 4P83N9//NDTf/zIy3/8vL97/LCze/ykp3f8mJt3/IyPc/yAg3P8dHdv/Gxvb/hgY2uUWFtqIFRXaGRUV + 2gAUFNoAAAAAAAAAAAAAAAAAExPaABgY2gAXF9oMGBjaTxoa26QcHNveHx/c+CEh3P8kJNz/Jyfd/yoq + 3f8tLd7/Ly/e/zIy3/80NN//Njbf/zk54P87O+D/PT3g/z8/4f9BQeH/QkLh/0RE4f9FReL/Rkbi/0dH + 4v9ISOL/SEji/0hI4v9JSeL/SUni/0hI4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9BQeH/QEDh/z4+ + 4P88POD/Ojrg/zg43/81Nd//MzPf/zAw3v8uLt7/Kyvd/ygo3f8mJt3/IyPc/yAg3P4dHdv0Gxvb0xkZ + 25AXF9o5FRXaBRYW2gAAAAAAAAAAAAAAAADwAAAAAAAAD+AAAAAAAAAHwAAAAAAAAAOAAAAAAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAcAAAAAAAAAD4AAAAAAAAAfwAAAAAAAADygA + AABgAAAAwAAAAAEAIAAAAAAAAJAAAJ0EAACdBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZAhIS2SASEtlhEhLZpBIS2dYSEtnwEhLZ/BIS2f8SEtr/EhLa/xMT2v8VFdr/Fhba/xcX + 2v8YGNr/GRnb/xoa2/8fH8f/Jyib/y8vc/8zNFv/NTZR/zU2UP82NlD/NjZQ/zY2UP82NlD/NjdQ/zY3 + UP82N1D/NjdQ/zY3UP82N1D/NjdQ/zc3UP83N1D/NzdQ/zc3UP83N1D/NzdQ/zc3UP83N1D/NzdQ/zc3 + UP83N1D/NzdQ/zc3UP83N1D/NjdQ/zY3UP82N1D/NjdQ/zY3UP82N1D/NjZQ/zY2UP82NlD/NjZQ/zY2 + UP81NlD/NTVT/zIyYv8sLYH/JCSt/xwc0v8ZGdz/GBjb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn+EhLZ+RIS2ekSEtnHEhLZjBIS2UcSEtkQEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkeEhLZeBIS2c4SEtn2EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ2/8aGtz/HR3T/ygomf8zNFr/ODlA/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTk6/zk5Ov85OTr/OTk6/zk5 + Ov85OTr/OTk6/zk5Ov85OTr/OTk6/zk5Ov85OTr/OTk6/zk5Ov85OTr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85OTv/NzdG/y8wbv8jI7P/Ghrb/xkZ + 2/8YGNr/Fxfa/xUV2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/hIS2ewSEtmzEhLZUhIS + 2QsSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZBBIS2U8SEtnJEhLZ/BIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8VFdr/Fhba/xcX2v8ZGdv/Ghrb/xsb3P8fH8v/Li55/zg5 + P/85Ojn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo7/zk6Of82Nkz/KCic/xwc2P8aGtv/GRnb/xgY2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ8hIS2Z8SEtknEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAABIS + 2QASEtkIEhLZcBIS2eoSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ + 2/8bG9v/HBzc/yAg0P8vMHP/OTo7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojr/NzhE/ygonP8dHdv/Gxvb/xoa + 2/8ZGdv/Fxfa/xYW2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnJEhLZOxIS + 2QASEtkAAAAAAAAAAAAAAAAAEhLZABIS2QUSEtlzEhLZ8hIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT + 2v8UFNr/Fhba/xcX2v8ZGdv/Ghrb/xwc2/8dHdv/Hx/b/ywtjP85OT3/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo6/zY2Tf8lJbb/HR3d/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ0xIS2TkSEtkAEhLZAAAAAAASEtkAEhLZABIS2VcSEtntEhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/FBTa/xUV2v8WFtr/GBja/xoa2/8bG9v/HR3b/x4e2/8gIN3/Jia9/zY3 + Tv85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Of8xMXP/ISHW/x8f3P8dHdv/HBzb/xoa + 2/8ZGdv/Fxfa/xUV2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2cMSEtkhEhLZABIS + 2QASEtkAEhLZJxIS2dESEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xcX2v8YGNv/Ghrb/xwc + 2/8dHdv/Hx/c/yEh3P8iItz/Li+J/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6 + Ov83OEf/Jyi4/yEh3v8fH9z/Hh7b/xwc2/8bG9v/GRnb/xcX2v8WFtr/FBTa/xMT2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtmTEhLZBxIS2QASEtkEEhLZihIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU + 2v8VFdr/Fxfa/xkZ2/8bG9v/HBzb/x4e2/8gINz/IiLc/yMj3f8mJtL/NDVi/zk6Of85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/Li6S/yMj3v8iItz/ICDc/x4e2/8dHdv/Gxvb/xkZ + 2/8YGNr/Fhba/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtnsEhLZQxIS2QASEtkxEhLZ3BIS + 2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xYW2v8YGNr/GRnb/xsb2/8dHdv/Hx/c/yAg3P8iItz/JCTc/yYm + 3v8qKsb/NzdP/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/MjJ4/yYm + 2/8lJd3/IyPc/yEh3P8fH9z/HR3b/xwc2/8aGtv/GBja/xYW2v8VFdr/ExPa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZnxIS2QgSEtl+EhLZ+xIS2f8SEtn/EhLa/xMT2v8UFNr/Fhba/xgY2v8ZGdv/Gxvb/x0d + 2/8fH9z/ISHc/yMj3P8lJd3/Jyfd/ygo3/8tLb3/ODhI/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojn/NDVs/ykp2P8nJ93/JSXd/yMj3P8hIdz/Hx/c/x4e2/8cHNv/Ghrb/xgY + 2v8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ3xIS2TESEtnGEhLZ/xIS2f8SEtr/ExPa/xQU + 2v8WFtr/GBja/xoa2/8cHNv/HR3b/x8f3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr4P8vMLn/ODlF/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/NTZn/yws1/8qKt7/KCjd/yYm + 3f8kJNz/IiLc/yAg3P8eHtv/HBzb/xoa2/8YGNv/Fxfa/xUV2v8TE9r/EhLa/xIS2f8SEtn/EhLZ+RIS + 2WwSEtnzEhLZ/xIS2v8TE9r/FBTa/xYW2v8YGNr/Ghrb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ygo + 3f8qKt3/LCze/y4u4P8xMrn/ODlF/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojn/Njdo/y4u1/8sLN7/Kird/ygo3f8mJt3/JCTc/yIi3P8gINz/Hh7b/xwc2/8aGtv/GBjb/xcX + 2v8VFdr/ExPa/xIS2v8SEtn/EhLZ/xIS2aESEtn/EhLa/xMT2v8UFNr/Fhba/xgY2v8aGtv/HBzb/x4e + 2/8gINz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw4P80NLn/ODlF/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojn/Nzdo/zEx1/8vL9//LS3e/ysr3f8pKd3/Jyfd/yQk + 3P8jI9z/ICDc/x4e2/8cHNv/Ghrb/xgY2v8WFtr/FRXa/xMT2v8SEtr/EhLZ/xIS2cUSEtn/ExPa/xQU + 2v8WFtr/GBja/xkZ2/8cHNv/Hh7b/yAg3P8iItz/JCTc/yYm3f8oKN3/Kyvd/y0t3v8vL97/MTHe/zMz + 4f82Nrr/OTlG/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTn/ODho/zQ0 + 2P8yMt//MDDe/y0t3v8rK93/KSnd/ycn3f8lJdz/IyPc/yAg3P8eHtv/HBzb/xoa2/8YGNr/Fhba/xQU + 2v8TE9r/EhLa/xIS2dcSEtr/FBTa/xUV2v8XF9r/GRnb/xsb2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ykp + 3f8rK93/LS3e/y8v3v8xMd7/NDTf/zY24f84OLr/OTpG/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojn/OTlo/zY32P80NN//MjLf/zAw3v8uLt7/LCze/ykp3f8nJ93/JSXc/yMj + 3P8gINz/Hh7b/xwc2/8aGtv/GBja/xYW2v8UFNr/ExPa/xIS2twUFNr/FRXa/xcX2v8ZGdv/Gxvb/x0d + 2/8gINz/IiLc/yQk3P8mJt3/KSnd/ysr3f8tLd7/MDDe/zIy3/80NN//Njbf/zk54v86O7v/OjtH/zo7 + PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozv/Ojtp/zk52f83N+D/NTXf/zIy + 3/8wMN7/Li7e/yws3v8pKd3/Jyfd/yUl3P8iItz/ICDc/x4e2/8cHNv/Ghrb/xgY2v8VFdr/FBTa/xMT + 2t0VFdr/Fxfa/xkZ2/8bG9v/HR3b/x8f3P8iItz/JCTc/yYm3f8oKN3/Kyvd/y0t3v8wMN7/MjLf/zQ0 + 3/83N9//OTng/zs74v89Pbv/PD1J/zw9Pv88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PTz/PD1r/zw82f86OuD/Nzff/zU13/8yMt//MDDe/y4u3v8rK97/KSnd/ycn3f8kJNz/IiLc/yAg + 3P8eHtv/Gxvb/xkZ2/8XF9r/FRXa/xQU2twWFtr/GBja/xoa2/8dHdv/Hx/c/yEh3P8kJNz/Jibd/ygo + 3f8rK93/LS3e/zAw3v8yMt//NDTf/zc33/85OeD/PDzg/z4+4/9AQLz/Pj5K/z4+QP8+PkH/Pj5A/z0+ + QP8+PkD/PT5A/z4+QP89PkD/Pj5A/z4+QP8+PkD/Pj5A/z0+QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/Pj5B/z4+QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z4+QP8+PkD/Pj5A/z0+QP89PkD/Pj5A/z0+QP89PkD/Pj5A/z4+ + QP8+PkD/Pj5A/z4+QP8+PkD/PT5A/z0+QP89Pj7/Pj9s/z4+2v88POH/Ojrg/zg43/81Nd//MzPf/zAw + 3v8uLt7/Kyve/ykp3f8mJt3/JCTc/yIi3P8fH9z/HR3b/xsb2/8ZGdv/Fxfa/xUV2twYGNr/Ghrb/xwc + 2/8eHtv/ISHc/yMj3P8mJt3/KCjd/yoq3f8tLd7/MDDe/zIy3/80NN//Nzff/zo64P88POD/Pj7h/0FB + 4/9CQr3/P0BM/z9AQf8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QED/QEFt/0FB + 2v8/P+H/PDzg/zo64P84ON//NTXf/zMz3/8wMN7/Li7e/ysr3f8pKd3/Jibd/yQk3P8hIdz/Hx/c/x0d + 2/8aGtv/GBja/xYW2twZGdv/Gxvb/x4e2/8gINz/IiLc/yUl3f8nJ93/Kird/y0t3v8vL97/MjLf/zU1 + 3/83N9//OTng/zw84P8+PuH/QUHh/0ND4/9ERb7/QUJO/0FBQ/9BQUT/QUJE/0FCRP9BQkT/QUFE/0FB + RP9BQkT/QUJE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FCRP9BQkT/QUFE/0FB + RP9BQkT/QUJE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQkT/QUFE/0FB + RP9BQkT/QUFE/0FBRP9BQUT/QUFE/0FBRP9BQUT/QUJE/0FCRP9BQkT/QUFE/0FBRP9BQUT/QUFE/0FB + RP9BQUT/QUFE/0FBRP9BQUL/QkNv/0RE2/9CQuL/Pz/h/z094P86OuD/Nzff/zU13/8yMt//MDDe/y0t + 3v8rK93/KCjd/yYm3f8jI9z/ISHc/x4e2/8cHNv/Ghrb/xgY2twbG9v/HR3b/x8f3P8iItz/JSXc/ycn + 3f8pKd3/LCze/y8v3v8xMd7/NDTf/zc33/85OeD/PDzg/z8/4f9BQeH/Q0Ph/0ZG5P9HR77/Q0NP/0JD + Rf9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JD + Rf9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0b/QkNG/0JDRv9CQ0P/RERw/0ZH2/9EROL/QkLh/z8/ + 4f88POD/Ojrg/zc33/81Nd//MjLf/y8v3v8tLd7/Kird/ygo3f8lJd3/IiLc/yAg3P8eHtv/HBzb/xoa + 29wcHNv/Hx/c/yEh3P8kJNz/Jibd/ykp3f8rK97/Li7e/zEx3v8zM9//Njbf/zk54P87O+D/Pj7h/0FB + 4f9EROH/Rkbi/0lJ5P9JSb//REVR/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RF + R/9ERUX/RkZy/0lJ3P9HR+L/RETh/0FB4f8/P+H/PDzg/zo64P83N9//NDTf/zIy3/8vL97/LCze/yoq + 3f8nJ93/JCTc/yIi3P8fH9z/HR3b/xsb29weHtv/ICDc/yMj3P8lJd3/KCjd/ysr3f8tLd7/MDDe/zMz + 3/81Nd//ODjg/zs74P8+PuD/QUHh/0ND4f9GRuL/SUni/0xM5f9MTMD/RkdT/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9FRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GRkn/RkZJ/0ZGSf9FRkf/SEhz/0xM3P9JSeP/R0fi/0RE4f9BQeH/Pz/h/zs7 + 4P85OeD/Njbf/zQ03/8xMd7/Li7e/ysr3v8pKd3/Jibd/yQk3P8hIdz/Hh7b/xwc29wgINz/IiLc/yUl + 3P8nJ93/Kird/y0t3v8vL97/MjLf/zU13/84ON//Ozvg/z094P9AQOH/Q0Ph/0ZG4v9ISOL/S0vj/05O + 5f9OTsD/SElU/0dISv9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEn/Skp0/05O + 3f9MTOP/SUni/0ZG4v9EROH/QUHh/z4+4P87O+D/ODjg/zY23/8zM9//MDDe/y0t3v8rK93/KCjd/yYm + 3f8jI9z/ICDc/x4e29whIdz/IyPc/yYm3f8pKd3/LCze/y8v3v8xMd7/NDTf/zc33/86OuD/PT3g/z8/ + 4f9CQuH/RUXi/0hI4v9LS+L/Tk7j/1FR5f9RUcH/SkpW/0lKTP9JSk3/SUpN/0lKTP9JSkz/SUpM/0lK + TP9JSk3/SUpM/0lKTP9JSk3/SUpM/0lKTP9JSk3/SUpN/0lKTP9JSUz/SUpM/0lKTf9JSkz/SUpM/0lK + TP9JSkz/SUpM/0lJTP9JSkz/SUpM/0lKTf9JSkz/SUpM/0lKTP9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSkz/SUpM/0lKTf9JSk3/SUpN/0lKTP9JSkz/SUpN/0lKTf9JSkz/SUpN/0lK + TP9JSk3/SUpN/0lKTf9JSUr/TEx2/1FR3f9PT+T/TEzj/0lJ4v9GRuL/Q0Ph/0BA4f89PeD/Ojrg/zg4 + 3/81Nd//MjLf/y8v3v8sLN7/KSnd/ycn3f8kJNz/IiLc/yAg3NwjI9z/JSXd/ygo3f8qKt3/LS3e/zAw + 3v8xMd//NDTf/zc33/86OuD/PT3g/0BA4f9DQ+H/Rkbi/0lJ4v9LS+P/T0/j/1JS5v9SUsL/S0xY/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS0z/TU13/1JS3f9QUOT/TU3j/0pK + 4v9HR+L/RETh/0FB4f8+PuD/Ozvg/zg44P81Nd//MjLf/zAw3v8uLt7/Kyve/ykp3f8mJt3/IyPc/yEh + 3NwkJNz/Jyfd/ykp3f8sLN7/Ly/e/zw84P9PT+P/UVHk/1RU5P9WVuT/WVnl/1xc5f9eXub/YWHm/2Nj + 5v9mZuf/aGjn/2tr6v9mZsX/Tk9Z/0xNT/9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTE7/VVZ5/2pq4f9paej/Z2fn/2Rk5v9hYeb/X1/m/1xc5f9aWuX/V1fk/1VV5P9SUuT/UFDj/0lJ + 4v8zM9//LS3e/yoq3f8oKN3/JSXc/yMj3NwmJt3/KCjd/ysr3f8uLt7/Li7e/3l56v/k5Pv/5eX7/+Xl + +//m5vv/5ub7/+fn+//n5/v/5+f7/+jo+//o6Pv/6en7/+vr/v/GxtX/V1hc/01OUf9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05PUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk9S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05OUv9OTlL/Tk5S/05O + Uv9OTlL/Tk5S/05OUv9OTlL/Tk9S/05OUv9LTE//eHmA/+Li9P/p6fz/6Oj7/+jo+//n5/v/5+f7/+fn + +//m5vv/5ub7/+bm+//l5fv/5ub7/83N9/9ISOL/LS3e/yws3v8pKd3/Jibd/yQk3NwnJ93/Kird/y0t + 3v8wMN7/Ly/e/4WF7P/+/v////////////////////////////////////////////////////////// + ///X19j/Wlte/09PU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9NTlH/f4CC//j4 + 9////////////////////////////////////////////////////////////+Xl+/9NTeP/Li7e/y0t + 3v8rK93/KCjd/yUl3dwpKd3/Kyve/y4u3v8xMd7/MTHe/4WF7P/+/v////////////////////////// + ///////////////////////////////////b3Nz/Xl9i/1BRVP9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9OT1P/hYaI//n5+f////////////////////////////////////////////// + /////////////+Xl+/9PT+P/MDDe/y8v3v8sLN7/KSnd/yYm3dwqKt3/LS3e/zAw3v8zM9//MzPf/4aG + 7P/+/v/////////////////////////////////////////////////////////////l5eb/Z2hr/1FS + Vv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/U1NX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9TU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1NTV/9TU1f/UlNX/1NTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9TU1f/UlNX/1JTV/9TU1f/U1NX/1JTV/9SU1f/U1NX/1NTV/9QUVT/k5SW//39/f////////////// + /////////////////////////////////////////////+Xl+/9QUOP/MjLf/zAw3v8tLd7/Kird/ygo + 3dwrK97/Li7e/zEx3v80NN//NDTf/4eH7P/+/v////////////////////////////////////////// + ///////////////////09PT/fX6A/1JTVv9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVj/VFVZ/1RVWf9UVVn/VFVY/1RVWP9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVY/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVj/sLCy/////////////////////////////////////////////////////////////////+Xl + +/9RUeT/MzPf/zIy3/8vL97/LCze/ykp3dwtLd7/MDDe/zMz3/82Nt//Njbf/4iI7P/+/v////////// + ////////////////////////////////////////////////////////p6iq/1VVWf9WVlr/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/VlZa/1ZXWv9WVlr/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WVlr/Vlda/1ZWWv9WV1r/Vlda/1ZXWv9WV1r/VlZa/1ZWWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1r/Vlda/1ZXWv9WV1r/Vlda/1VWWf9iY2f/2NjZ//////////////////////////////////// + /////////////////////////////+Xl+/9TU+T/NTXf/zMz3/8wMN7/LS3e/yoq3dwuLt7/MTHe/zQ0 + 3/83N9//Nzff/4mJ7P/+/v////////////////////////////////////////////////////////// + ////////3t7f/2trb/9WV1v/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1VWWv+RkZT/+Pj4//// + /////////////////////////////////////////////////////////////+bm+/9UVOT/Njbf/zU1 + 3/8xMd7/Li7e/yws3twvL97/MjLf/zU13/84OOD/ODjg/4qK7P/+/v////////////////////////// + /////////////////////////////////////////f39/6ysrv9aW1//WFld/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/V1hc/2tsb//Y2Nn///////////////////////////////////////////////////////// + /////////////+bm+/9VVeT/Nzff/zY23/8zM9//Ly/e/y0t3twwMN7/MzPf/zY23/85OeD/Ojrg/4qK + 7f/+/v////////////////////////////////////////////////////////////////////////Pz + 8/+UlJf/Wltf/1pbX/9bW1//W1tf/1pbX/9aW1//Wltf/1pbX/9bW1//Wltf/1tbX/9aW1//Wltf/1tb + X/9aW1//Wltf/1tbX/9bW1//W1tg/1tbYP9aW1//Wltf/1tbX/9aW1//W1tf/1tbYP9bW1//Wltf/1pb + X/9aW1//W1tf/1pbX/9bW1//W1tf/1tbX/9aW1//W1tf/1tbX/9bW1//Wltf/1pbX/9bW2D/W1tf/1pb + X/9aW1//W1tf/1tbX/9aW1//Wltf/1pbX/9ZWl7/ZGRo/76+wP/+/v7///////////////////////// + /////////////////////////////////////////////+bm+/9WVuT/OTng/zc33/80NN//MTHe/y4u + 3twxMd7/NDTf/zc33/87O+D/Ozvg/4uL7f/+/v////////////////////////////////////////// + ///////////////////////////////////t7e7/mpue/2BhZf9aW1//XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/W1xh/1pbX/9tbnL/vr7A//v7 + +////////////////////////////////////////////////////////////////////////////+bm + +/9XV+T/Ojrg/zg44P81Nd//MjLf/y8v3twyMt//NTXf/zk54P88POD/PDzg/4yM7f/+/v////////// + ////////////////////////////////////////////////////////////////////////9vb2/7u7 + vf98fID/YWJm/1xdYf9bXGH/W1xh/1tcYf9bXGH/W1xh/1tcYf9bXGH/XFxh/1tcYf9bXGH/W1xh/1tc + Yf9cXWH/W1xh/1tcYf9bXGH/XF1h/1xdYf9dXmL/XV5i/11eYv9dXmL/XV5i/11dYv9cXWH/XF1h/1xc + Yf9bXGH/W1xh/1tcYf9cXGH/W1xh/1tcYf9cXGH/W1xh/1tcYf9bXGH/W1xh/1tcYf9bXGH/W1xh/1tc + Yf9dXWL/Z2hs/4+Qk//W1tf//v7+//////////////////////////////////////////////////// + /////////////////////////////+bm+/9YWOX/Ozvg/zk54P82Nt//MzPf/zAw3twzM9//Njbf/zo6 + 4P89PeD/Pj7g/42N7f/+/v////////////////////////////////////////////////////////// + //////////////////////////////7+/v/s7e3/xsbI/6Ojpv+Oj5L/h4iL/4aHiv+Gh4r/hoeK/4aH + iv+Gh4r/hoeK/4aHiv+Gh4r/hoeK/4aHiv+Gh4r/h4iL/4iJjP+HiIv/goOG/3t7f/9yc3f/bG1y/2hp + bv9pam//bm9z/3V2ev9+foL/hIWI/4iIjP+IiIz/h4eL/4aHiv+Gh4r/hoeK/4aHiv+Gh4r/hoeK/4aH + iv+Gh4r/hoeK/4aHiv+Gh4r/iYmN/5SVmP+ur7H/1dbX//b29/////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9aWuX/PDzg/zo6 + 4P83N9//NDTf/zEx3tw0NN//Nzff/zs74P8+PuD/Pz/h/42N7f/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/5+fn/9/f3//b29//29vf/9vb3//b29//29vf/9vb3//b29//29vf/9/f3//j4+P/29vb/6Ojp/87O + 0f+ys7b/mpuf/4qLkP9/gYb/e3yB/3h5f/95eoD/fH2D/4OEif+PkJX/oqOn/729wP/Y2dr/7+/v//f3 + +P/39/j/9vf3//b29//29vf/9vb3//b29//29vf/9vb3//b29//29vf/9/f4//v7+/////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9aWuX/PT3g/zw84P84OOD/NTXf/zIy39w1Nd//ODjg/zw84P8/P+H/Pz/h/46O + 7f/+/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/+Li5P+2t7r/kZKX/3x9g/90dXv/cXJ4/29wdv9ub3X/bm90/25vdP9ub3T/bm90/29w + df9wcXb/cnN5/3Z3ff+Cg4n/np+j/8fHyv/v7/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9bW+X/Pj7g/zw84P85OeD/NTXf/zMz + 39w2Nt//OTng/z094P9AQOH/QUHh/4+P7f/+/v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////3+/v/j5OX/ra6y/4SFi/90dXv/b3B2/21uc/9qa3H/aGlu/2do + bP9lZmv/ZGVq/2Rlav9kZWr/ZWZq/2ZnbP9naG3/aWpv/2tscv9ub3T/cXJ3/3d5fv+Rkpf/wsPG//Ly + 8/////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9cXOX/Pz/h/z094P86OuD/Njbf/zMz39w3N9//Ojrg/z094P9BQeH/QUHh/4+P7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9fX1/8DAw/+IiY//c3R6/29w + df9rbHH/Z2ht/2Rlav9iY2f/YGFl/15fY/9dXmL/XF1h/1xdYf9cXWH/XF1i/11eY/9fYGT/YGFm/2Nk + aP9lZmv/aWpv/2xtc/9wcXb/d3l+/5qan//Y2Nr//f39//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9dXeX/QEDh/z4+4f87O+D/Nzff/zQ039w3N9//Ojrg/z4+ + 4P9BQeH/QkLh/4+P7f/+/v////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///o6On/pKWp/3h5f/9wcXb/a2xx/2dobf9jZGj/X2Bl/11eYv9aW1//WFld/1dYXP9WV1v/VVZa/1VW + Wv9VVlr/VlZa/1ZXW/9YWFz/WVpe/1tcYP9eX2P/YWJm/2Rlav9oaW7/bW5z/3FyeP+DhIn/v7/C//f3 + 9/////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9dXeX/QUHh/z8/ + 4f87O+D/ODjf/zU139w4ON//Ozvg/z4+4f9CQuH/Q0Ph/5CQ7f/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////9/f4f+TlJn/c3R6/25vdP9oaW7/Y2Rp/19gZP9cXGH/WVld/1ZX + W/9UVVj/UlNX/1FSVf9QUVT/T1BU/09QU/9PUFP/UFFU/1BRVf9RUlb/U1RX/1VWWf9XWFz/Wltf/11e + Yv9hYmb/ZWZr/2prcP9vcXb/eXqA/66vs//z8/P///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9eXub/QUHh/0BA4f88POD/ODjg/zY239w4OOD/PDzg/z8/4f9CQuH/Q0Ph/5CQ + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////3d3f/42Ok/9yc3n/bG1y/2Zn + bP9hYmb/XF1i/1laXf9VVlr/U1RX/1BRVf9PT1P/TU5R/0xNUP9LTE//S0tO/0pLTv9KS07/S0xP/0tM + T/9MTVD/Tk5S/09QU/9RUlX/VFVY/1dYW/9aW1//Xl9j/2NkaP9oaW7/bm91/3Z3ff+oqa3/8/Pz//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9eXub/QkLh/0BA4f88POD/OTng/zY2 + 39w5OeD/PDzg/z8/4f9DQ+H/RETh/5GR7v/+/v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///j4+X/kJGW/3FzeP9sbXL/ZWZr/2BhZf9bXGD/V1hb/1NUWP9QUVT/Tk9S/0xMUP9KS07/SUlM/0hI + S/9HSEr/R0dK/0ZHSv9GR0r/R0dK/0dIS/9ISUz/SUpN/0tLTv9MTVD/T09T/1FSVv9UVVn/WFld/11d + Yv9iY2f/aGht/25vdP92d33/rq+y//f39/////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9fX+b/QkLh/0FB4f89PeD/OTng/zc339w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////Dw8f+bnKH/cnR5/2xtcv9lZmv/X2Bk/1pbX/9VVlr/UlJW/09P + U/9MTVD/SkpN/0hJS/9GR0r/RUZJ/0RFSP9EREf/Q0RG/0NERv9DREb/Q0RH/0RER/9FRUj/RkZJ/0dH + Sv9ISUz/SktO/01OUf9QUFT/U1RX/1dYXP9cXWH/YWJn/2dobf9ub3X/eXqA/76/wv/9/f3///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9fX+b/Q0Ph/0FB4f89PeD/Ojrg/zc339w5OeD/PT3g/0BA + 4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+/v7/7Ozt/92d3z/bW5z/2Zn + a/9fYGT/Wltf/1VWWf9RUlX/TU5R/0tLTv9ISUz/RkdK/0VFSP9DREb/QkNF/0FCRf9BQkT/QEFE/0BB + Q/9AQUT/QUFE/0FCRP9CQkX/Q0NG/0RER/9FRkj/R0hK/0lKTf9LTE//T09T/1JTV/9XWFv/XF1h/2Jj + Z/9oaW7/b3B2/4KDif/X19n///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9gYOb/Q0Ph/0FB + 4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////1tbY/4CBhv9vcHX/Z2ht/2BhZv9aW1//VVZa/1FSVf9NTlH/SktO/0dIS/9FRkj/Q0RH/0JD + Rf9BQUT/QEBD/z9AQv8/P0L/Pj9B/z4/Qf8+P0H/Pz9C/z9AQv8/QEL/QEFD/0FCRP9CQ0b/REVH/0ZH + Sf9ISUz/S0xP/05PUv9SU1f/V1hc/1xdYv9jZGj/amtw/3FyeP+ZmZ7/8fHy//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9gYOb/Q0Ph/0FB4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR + 7v/+/v////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////09PX/m5yh/3FyeP9qa3D/YmNo/1xdYf9WV1v/UVJW/01O + Uf9KS03/R0hK/0VFSP9DQ0b/QUJE/0BAQ/8/P0L/Pj9B/z0+QP89PkD/PT1A/z09P/89PT//PT5A/z0+ + QP8+PkD/Pj9B/z9AQv9AQUP/QkJF/0NER/9FRkn/SElM/0tMT/9PT1P/U1RX/1hZXf9eX2P/ZWZr/21u + c/93eH7/wcHE//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9gYOb/RETh/0FB4f8+PuD/Ojrg/zc3 + 39w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////NzdD/enuB/21u + dP9lZmv/Xl9j/1hZXf9SU1f/Tk9S/0pLTv9HSEv/REVI/0JDRv9AQUT/P0BC/z4/Qf89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87PD7/PDw+/zw8P/88PT//PT1A/z0+QP8+P0H/QEBD/0FCRP9DREb/RUZJ/0hJ + TP9MTE//UFBU/1RVWf9aW1//YWJm/2hpbv9wcXb/j5CV/+3t7v////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9gYOb/RETh/0JC4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////b39/+dnqL/cXJ4/2lqb/9hYmf/Wltf/1RVWf9PUFT/S0xP/0hIS/9FRUj/QkNG/0BB + RP8/QEL/Pj5B/z09QP88PT//Ozw+/zs8Pv87Oz3/Ozs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/PDw+/zw9 + P/89PkD/Pj9B/z9AQv9BQkT/Q0RH/0ZHSf9JSk3/TU1R/1FSVv9XV1v/XV5i/2Rlav9sbXP/d3h+/8TF + yP////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9gYOb/RETh/0JC4f8+PuD/Ojrg/zg439w6OuD/PT3g/0FB + 4f9EROH/RUXi/5GR7v/+/v////////////////////////////////////////////////////////// + /////////////////////////////////////////////9zd3v+AgYb/bm90/2Vma/9eX2P/V1hc/1JS + Vv9NTlH/SUpN/0ZGSf9DREb/QUFE/z9AQv8+PkD/PT0//zw8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6 + PP86Ozz/Ojs9/zo7Pf86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/Qf9AQEP/QkJF/0RFR/9HSEr/SktO/09P + U/9UVFj/Wlpe/2BhZv9pam//cHF3/5ucof/29/f///////////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9gYOb/RETh/0JC + 4f8+PuD/Ojrg/zc339w6OuD/PT3g/0FB4f9EROH/RUXi/5GR7v/+/v////////////////////////// + /////////////////////////////////////////////////////////////////////////////7i5 + vP90dXr/a2xx/2JjaP9bXGD/VVVZ/09QU/9LTE//R0hL/0RFR/9BQkX/P0BC/z4+Qf89PT//PDw+/zs8 + Pv86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+ + QP8+P0H/QEFD/0JDRv9FRkj/SElM/0xNUP9RUlX/V1hc/15eY/9lZmv/bm90/4GCh//f3+H///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9gYOb/RETh/0FB4f8+PuD/Ojrg/zc339w6OuD/PT3g/0BA4f9EROH/RUXi/5GR + 7v/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////9/f3/5qboP9wcXb/aGlu/19gZf9YWV3/UlNX/01OUf9JSk3/RUZJ/0ND + Rv9AQUP/Pj9B/z0+QP88PD7/Ozw+/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87Oz3/Ozw+/zw9P/89PkD/P0BC/0FCRP9EREf/R0dK/0tLTv9PUFP/VVVZ/1tc + YP9jY2j/a2xx/3V2fP/Dw8b///////////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9gYOb/Q0Ph/0FB4f8+PuD/Ojrg/zc3 + 39w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////6Ojp/4aHjP9ub3T/Zmdr/11e + Y/9WV1v/UVFV/0xNUP9ISEv/REVI/0JCRf8/QEL/Pj5B/zw9P/87PD7/Ojs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zw8Pv89PUD/Pj9B/0BB + Q/9CQ0b/RUZJ/0lKTf9NTlL/U1RX/1laXv9gYWb/aWpv/3FyeP+nqKz//Pz8//////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9fX+b/Q0Ph/0FB4f89PeD/Ojrg/zc339w5OeD/PDzg/0BA4f9DQ+H/RETh/5GR7v/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////19fZ/3t8gv9sbXP/ZGVp/1xdYf9VVlr/T1BT/0tLTv9HR0r/Q0RH/0FBRP8/P0L/PT5A/zw8 + P/87Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zs8Pv88PT//Pj5A/z9AQv9CQkX/REVI/0hJTP9MTVD/UVJW/1dYXP9fX2T/Z2ht/29w + dv+Vlpr/9PX1//////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9fX+b/Q0Ph/0BA4f89PeD/OTng/zY239w5OeD/PDzg/z8/ + 4f9DQ+H/RETh/5CQ7f/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////yMjL/3Z3ff9rbHH/YmNo/1pbX/9UVVj/Tk9S/0pK + Tf9GRkn/Q0NG/0BBQ/8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs8Pv88PD//PT5A/z8/Qv9BQkT/RERH/0dI + S/9LTE//UFFU/1ZXW/9dXmL/ZWZr/25vdf+IiY//6+vs//////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9eXub/QkLh/0BA + 4f88POD/OTng/zY239w4OOD/Ozvg/z8/4f9CQuH/Q0Ph/5CQ7f/+/v////////////////////////// + ////////////////////////////////////////////////////////////////////////vb3A/3N0 + ev9qa3D/YWJn/1pbX/9TVFj/Tk5S/0lKTf9FRkn/QkNF/0BAQ/8+PkH/PD0//zs8Pv86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojs9/zs7 + Pf88PD7/PT1A/z4/Qf9BQUT/Q0RH/0dHSv9LS07/UFBU/1VWWv9cXWH/ZGVq/21udP+Cg4j/5OTl//// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn+/9eXub/QkLh/z8/4f88POD/OTng/zY239w3N9//Ojrg/z4+4P9BQeH/QkLh/5CQ + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////t7e7/3J0ef9qa3D/YWJm/1laXv9TU1f/TU5R/0lJTP9FRkj/QkNF/z9A + Q/8+PkD/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87PD7/PT0//z4/Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VW + Wf9cXWH/ZGVq/21uc/9/gIb/39/h//////////////////////////////////////////////////// + /////////////////////////////////////////////+fn+/9eXuX/QUHh/z8/4f87O+D/ODjg/zU1 + 39w3N9//Ojrg/z094P9BQeH/QkLh/4+P7f/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////tba5/3Jzef9pam//YWJm/1la + Xv9TU1f/TU5R/0lJTP9FRkj/QkNF/z9AQv89PkD/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87PD7/PT0//z4/ + Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VWWf9cXWH/ZGVp/21uc/9+f4X/3d7f//////////////////// + /////////////////////////////////////////////////////////////////////////////+fn + +/9dXeX/QEDh/z4+4f87O+D/Nzff/zU139w2Nt//OTng/z094P9AQOH/QUHh/4+P7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ////////uru+/3N0ev9qa3D/YWJm/1laXv9TVFf/TU5R/0lKTP9FRkj/QkNF/0BAQ/8+PkH/PD0//zs8 + Pv86Oz3/Ojo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87PD7/PT1A/z4/Qf9AQUP/Q0RG/0ZHSv9KS07/T1BT/1VWWv9cXWH/ZGVq/21u + c/+AgYf/4uLj//////////////////////////////////////////////////////////////////// + /////////////////////////////+fn+/9cXOX/QEDh/z094P86OuD/Nzff/zQ039w1Nd//ODjg/zw8 + 4P8/P+H/QEDh/46O7f/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////wsLF/3V2e/9rbHH/YmNn/1pbX/9TVFj/Tk9S/0lK + Tf9FRkn/QkNG/0BBQ/8+P0H/PD0//zs8Pv86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP86Ojz/Ojs9/zs7Pf88PD7/PT5A/z8/Qv9BQUT/Q0RH/0dI + Sv9LTE//UFFU/1ZXWv9dXmL/ZWZr/25vdP+Fhov/5+jp//////////////////////////////////// + /////////////////////////////////////////////////////////////+fn+/9bW+X/Pz/h/z09 + 4P85OeD/Njbf/zMz39w1Nd//Nzff/zs74P8+PuH/Pz/h/46O7f/+/v////////////////////////// + ////////////////////////////////////////////////////////////////////////0NHT/3l6 + f/9sbXL/Y2Ro/1tcYP9UVVn/T1BT/0pLTv9GR0r/Q0RG/0BBRP8+P0H/PT1A/zw8Pv87Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP86Ojz/Ojs9/zs8 + Pv88PT//PT5A/z9AQv9BQkT/REVH/0hIS/9MTVD/UVJV/1dYXP9eX2P/Zmds/29wdf+PkJX/8fHy//// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9aWuX/Pj7g/zw84P84OOD/NTXf/zIy39wzM9//Njbf/zo64P89PeD/Pj7g/42N + 7f/+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////4ODi/4CBh/9tbnT/ZWZq/11eYv9WV1r/UFFU/0tMT/9HSEv/REVH/0FC + RP8/QEL/PT5A/zw9P/87PD7/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo8/zk6PP86Ozz/Ojs9/zs8Pv88PT//Pj9B/0BAQ/9CQ0X/RUZI/0lJTP9NTlH/UlNW/1hZ + Xf9gYGX/aGlu/3Bxd/+en6P/+fn5//////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9aWuX/PT3g/zs74P84ON//NDTf/zEx + 3twzM9//NTXf/zk54P88POD/PT3g/4yM7f/+/v////////////////////////////////////////// + ////////////////////////////////////////////////////////8fHy/5CRlv9vcHb/Z2ht/19f + ZP9YWFz/UlJW/01NUf9ISUz/RUZI/0JDRf9AQUP/Pj9B/z09P/88PD7/Ozs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozw+/zw9P/89PkD/Pz9C/0FB + RP9DREb/RkdK/0pLTv9OT1L/VFVY/1pbX/9iYmf/amtw/3N0ev+2t7r///////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9ZWeX/Ozvg/zo64P83N9//MzPf/zEx3twxMd7/NDTf/zg43/87O+D/Ozvg/4uL7f/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz9/6qqrv9xcnj/aWpv/2FiZv9aW1//VFRY/05PUv9KS07/RkdK/0NER/9BQkT/P0BC/z0+ + QP88PT//Ozw+/zs7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7 + Pf87PD7/PDw+/z09P/8+P0H/QEBD/0JDRf9ERUj/SEhL/0xMT/9QUVT/Vlda/1xdYf9kZWr/bW5z/3p7 + gf/T09X///////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9YWOX/Ojrg/zk54P81Nd//MjLf/zAw3twwMN7/MzPf/zc3 + 3/86OuD/Ojrg/4uL7f/+/v////////////////////////////////////////////////////////// + /////////////////////////////////////////////83N0P95eoD/bG1z/2Rlav9cXWH/Vldb/1BR + Vf9MTVD/SElM/0VGSP9CQ0X/QEFD/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zs8Pv88PD7/PD0//z4+QP8/QEL/QUJE/0NERv9GR0n/SUpN/05O + Uv9TU1f/WFld/19gZP9naG3/b3B2/46PlP/u7u////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9WVuT/OTng/zc3 + 3/80NN//MTHe/y4u3twvL97/MjLf/zU13/85OeD/OTng/4qK7P/+/v////////////////////////// + /////////////////////////////////////////////////////////////////////////////+3t + 7v+NjpP/b3B2/2dobf9gYWX/WVpe/1NUWP9OT1L/SktO/0dISv9ERUf/QkJF/0BBQ/8+P0H/PT5A/zw9 + P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z8/ + Qv9AQUT/QkNG/0VGSP9ISUz/TExP/1BRVP9VVlr/W1xg/2JjaP9rbHH/c3R6/7Gytf/9/f3///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9VVeT/ODjg/zY23/8zM9//MDDe/y0t3twuLt7/MTHe/zQ03/83N9//Nzff/4mJ + 7P/+/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v+3uLv/dHV7/2ttcv9jZGn/XF1h/1ZXW/9RUlX/TU5R/0lK + Tf9GR0r/Q0RH/0FCRf9AQUP/Pj9B/z0+QP89PT//PD0//zw8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv88PD7/PD0//z0+QP8+PkH/P0BC/0BBQ/9CQ0X/REVI/0dIS/9KS07/Tk9S/1NUV/9YWV3/X2Bk/2Zn + bP9ub3X/gYKI/93d3/////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9UVOT/Njbf/zU13/8yMt//Li7e/yws + 3twtLd7/MDDe/zMz3/82Nt//Njbf/4iI7P/+/v////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5uf/iImP/29w + dv9oaW7/YGFm/1pbX/9UVVn/UFFU/0xNUP9ISUz/RkZJ/0NER/9CQkX/QEFD/z9AQv8+P0H/PT5A/z09 + QP88PT//PD0//zw9P/88PT//PD0//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QUFE/0JDRv9ERUj/R0dK/0pK + Tf9NTlH/UVJW/1ZXW/9cXWH/Y2Rp/2tscf9zdHn/qamt//r6+v////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Xl + +/9TU+T/NTXf/zMz3/8wMN7/LS3e/ysr3dwsLN7/Li7e/zEx3v81Nd//NDTf/4eH7P/+/v////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7/u7y//3Z3ff9tbnP/ZWZr/15fY/9YWV3/U1RY/09QU/9MTE//SUlM/0ZH + Sf9ERUf/QkNF/0FBRP9AQEP/P0BC/z4/Qf8+P0H/Pj5A/z0+QP8+PkD/Pj5B/z4/Qf8/P0H/P0BC/0BB + Q/9BQkT/Q0RG/0VFSP9HSEr/SkpN/01OUf9RUlX/VVZa/1pbX/9hYmb/aGlu/29wdv+Fhoz/3+Dh//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+Xl+/9SUuT/NDTf/zIy3/8vL97/LCze/ykp3dwqKt3/LS3e/zAw + 3v8zM9//MzPf/4aG7P/+/v////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8PDw/5eYnf9xcnj/amtx/2Nk + af9dXmL/WFlc/1NUV/9PUFP/TE1Q/0lKTf9HR0r/RUZI/0NER/9CQ0X/QUJE/0BBQ/9AQUP/QEBD/z9A + Qv8/QEL/QEBD/0BBQ/9BQUT/QUJF/0JDRv9EREf/RUZJ/0dIS/9KS07/TU5R/1FRVf9VVVn/Wlpe/19g + Zf9mZ2z/bW50/3d4fv+7u77//f39//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+Xl+/9QUOP/MjLf/zEx + 3v8uLt7/Kyvd/ygo3dwpKd3/Kyve/y8v3v8xMd7/MTHe/4aG7P/+/v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9vb3P+Gh4v/cHF2/2lqb/9iY2j/XV1i/1hYXP9TVFj/UFFU/01OUf9KS07/SElM/0ZH + Sv9FRkj/RERH/0NERv9CQ0b/QkNF/0JCRf9CQkX/QkNF/0JDRv9DREb/REVI/0VGSf9HSEr/SUlM/0tM + T/9OT1L/UVJV/1VWWf9ZWl7/X2Bk/2Vmav9sbXL/c3R5/6Gipf/z8/P///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9PT+P/MDDe/y8v3v8tLd7/KSnd/ycn3dwoKN3/Kird/y0t3v8wMN7/MTHe/21t + 6P/ExPb/xcX2/8bG9v/Hx/b/yMj2/8nJ9v/Kyvf/y8v3/8zM9//Nzff/zs73/87O9//Pz/f/0ND4/9HR + +P/S0vj/09P4/9TU+P/U1Pj/1dX4/9bW+f/X1/n/2Nj5/9fX+P+kpcP/d3mC/3Bxdv9pam//YmNo/11e + Yv9YWV3/VFVZ/1FSVf9OT1L/TE1Q/0pLTv9ISUz/R0hL/0ZHSv9FRkn/RUZI/0VGSP9FRkj/RUZJ/0ZG + Sf9GR0r/SEhL/0lKTf9LS07/TU1R/09QU/9SU1f/Vlda/1pbX/9fYGT/ZWZq/2tscf9ydHj/gIGT/76+ + 4P/Z2fr/19f5/9bW+f/V1fj/1dX4/9TU+P/T0/j/0tL4/9HR+P/Q0Pj/z8/3/8/P9//Ozvf/zc33/8zM + 9//Ly/f/ysr3/8nJ9v/IyPb/x8f2/8fH9v/Gxvb/xsb2/7Gx8/9GRuL/Ly/e/y4u3v8rK93/KCjd/yUl + 3dwmJt3/KCjd/yws3v8uLt7/MTHe/zY23/89PeD/QEDh/0ND4f9GRuL/SUni/0tL4/9PT+P/UVHk/1VV + 5P9XV+X/Wlrl/11d5f9gYOb/Y2Pm/2Zm5/9paef/a2vo/25u6P9xcen/c3Pp/3Z26f95eer/e3vq/35+ + 6/9/f+j/fX20/3d4gP9wcXb/aWpv/2Nkaf9eX2P/Wltf/1ZXW/9TVFf/UFFV/05PUv9MTVD/S0xP/0pL + Tv9JSk3/SUlM/0hJTP9JSUz/SUpN/0lKTf9KS07/TExP/01OUf9PUFP/UVJW/1RVWf9XWFz/W1xg/2Bh + Zf9lZmv/a2xy/3N0eP96e47/fX7O/35+6/98fOr/eXnq/3d36f90dOn/cnLp/29v6P9sbOj/aWnn/2dn + 5/9kZOb/YWHm/15e5v9bW+X/WFjl/1VV5P9SUuT/T0/j/0xM4/9JSeL/Rkbi/0RE4f9BQeH/Pj7g/zo6 + 4P8zM9//Ly/e/yws3v8pKd3/Jibd/yQk3NwkJNz/Jyfd/yoq3f8tLd7/MDDe/zIy3/81Nd//ODjg/zs7 + 4P8+PuD/QUHh/0RE4f9HR+L/Skri/01N4/9QUOP/U1Pk/1ZW5P9ZWeX/XFzl/15e5v9hYeb/ZGTn/2dn + 5/9qauf/bGzo/29v6P9xcen/dHTp/3Z26f95eer/e3vl/3x9tP94eYL/cXJ2/2prcf9lZmv/YGFm/1xd + Yf9ZWl7/Vlda/1NUWP9RUlb/UFFU/09QU/9OT1L/TU5R/01OUf9NTlH/TU5R/05PUv9PUFP/UFFV/1JT + V/9UVVn/V1hc/1pbX/9eX2P/YmNn/2dobf9tbnP/c3R5/3p7kP98fMz/eXnq/3d36v90dOn/cnLp/3Bw + 6P9tbej/amro/2ho5/9lZef/YmLm/19f5v9dXeX/Wlrl/1dX5P9UVOT/UVHj/05O4/9LS+L/SEji/0VF + 4v9CQuH/Pz/h/zw84P85OeD/Njbf/zMz3/8wMN7/LS3e/ysr3f8oKN3/JSXd/yMj3NwjI9z/Jibd/ygo + 3f8rK97/Li7e/zAw3v80NN//Njbf/zo64P88POD/Pz/h/0JC4f9FReL/SEji/0tL4/9OTuP/UFDj/1NT + 5P9WVuT/WVnl/1xc5f9fX+b/YmLm/2Rk5/9nZ+f/amrn/2xs6P9vb+j/cXHp/3Nz6f92dun/eHjq/3p6 + 5/97fLz/eXqJ/3N0eP9tbnP/aGlu/2Nkaf9fYGX/XF1h/1paXv9XWFz/Vlda/1RVWf9TVFj/U1RX/1JT + V/9SU1f/U1RX/1RVWP9VVln/Vldb/1hZXf9aW1//XV5j/2FiZv9lZmv/amtw/29wdf91dnz/enuY/3t7 + 0f94eOr/dnbp/3R06f9xcen/b2/o/21t6P9qauf/aGjn/2Vl5/9iYub/YGDm/11d5f9aWuX/V1fl/1VV + 5P9RUeT/Tk7j/0xM4/9JSeL/Rkbi/0ND4f9AQOH/PT3g/zo64P83N9//NDTf/zIy3/8vL97/LCze/ykp + 3f8mJt3/JCTc/yEh3NwiItz/JCTc/ycn3f8pKd3/LCze/y8v3v8yMt//NTXf/zc33/86OuD/PT3g/0BA + 4f9DQ+H/Rkbi/0lJ4v9LS+P/Tk7j/1FR4/9UVOT/V1fk/1lZ5f9cXOX/X1/m/2Fh5v9kZOb/Zmbn/2lp + 5/9ra+j/bm7o/3Bw6P9ycun/dHTp/3Z26v94eOn/e3vM/3p7mP92d33/cHF2/2tscv9naG3/ZGVp/2Fi + Zv9eX2T/XF1h/1tcYP9aW1//WVpe/1laXv9ZWl7/WVpe/1pbX/9bXGD/XV5i/19gZP9iY2f/ZWZr/2lq + b/9tbnP/cnN4/3h5g/97e6r/eXnc/3d36v91den/cnLp/3Bw6P9ubuj/bGzo/2lp5/9nZ+f/ZWXn/2Ji + 5v9gYOb/XV3l/1pa5f9XV+T/VVXk/1JS5P9PT+P/TEzj/0lJ4v9GRuL/RETh/0FB4f8+PuD/Ozvg/zg4 + 4P82Nt//MjLf/zAw3v8tLd7/Kird/ycn3f8lJdz/IiLc/yAg3NwgINz/IiLc/yUl3f8oKN3/Kird/y0t + 3v8wMN7/MzPf/zY23/84OOD/Ozvg/z4+4P9BQeH/RETh/0ZG4v9JSeL/TEzj/09P4/9RUeP/VFTk/1dX + 5P9ZWeX/XFzl/15e5v9hYeb/Y2Pm/2Zm5/9oaOf/amrn/2xs6P9ubuj/cHDo/3Nz6f90dOn/dnbq/3h5 + 3f96e7T/eXqM/3V2e/9wcXb/bW5z/2lqb/9mZ2z/ZGVq/2NkaP9iYmf/YWJm/2BhZv9gYWb/YWJm/2Jj + Z/9jZGn/ZWZr/2dobf9qa3D/bm90/3Jzd/93eH//enuY/3p6xv93d+X/dXXq/3Nz6f9xcen/b2/o/21t + 6P9ra+j/aWnn/2Zm5/9kZOb/YmLm/19f5v9cXOX/Wlrl/1dX5P9UVOT/UlLk/1BQ4/9NTeP/Skri/0dH + 4v9EROH/QUHh/z8/4f88POD/OTng/zY23/80NN//MTHe/y4u3v8rK93/KCjd/yYm3f8jI9z/ICDc/x4e + 290fH9z/ISHc/yMj3P8mJt3/KSnd/ysr3v8uLt7/MTHe/zMz3/82Nt//OTng/zw84P8+PuH/QUHh/0RE + 4f9HR+L/SUni/0xM4/9PT+P/UVHk/1RU5P9WVuT/WVnl/1tb5f9eXub/YGDm/2Ji5v9lZef/Z2fn/2lp + 5/9ra+j/bW3o/29v6P9xcen/c3Pp/3R06v92duj/eHjV/3p6sP95eo//d3h//3N0eP9wcXb/bm90/2xt + cv9qa3H/amtw/2lqb/9pam//amtw/2tscf9sbnP/b3B0/3Fydv90dnr/eHmD/3p6mf95eb//d3ff/3R0 + 6v9zc+n/cXHp/29v6P9ubuj/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/Xl7m/1xc5f9aWuX/V1fk/1RU + 5P9SUuT/T0/j/01N4/9KSuL/SEji/0VF4v9CQuH/Pz/h/zw84P86OuD/Nzff/zQ03/8xMd7/Ly/e/yws + 3v8pKd3/Jibd/yQk3P8hIdz/Hx/c/x0d29wdHdv/Hx/c/yIi3P8kJNz/Jyfd/yoq3f8sLN7/Ly/e/zEx + 3v80NN//Nzff/zo64P88POD/Pz/h/0FB4f9EROH/R0fi/0lJ4v9MTOP/T0/j/1FR5P9UVOT/Vlbk/1hY + 5f9bW+X/XV3l/19f5v9iYub/Y2Pm/2Zm5/9oaOf/amrn/2xs6P9tbej/b2/o/3Bx6P9ycun/c3Pq/3V1 + 6P93d9v/eXnB/3l6pf95epH/eHmE/3Z3fv91dnv/dHV5/3R1ef90dXn/dHV6/3V3fP93eID/eHmI/3l6 + mP95eq//eHjM/3V14f90dOr/cnLp/3Fx6f9vb+j/bm7o/2xs6P9qauf/aGjn/2Zm5/9kZOb/YmLm/2Bg + 5v9eXuX/W1vl/1lZ5f9XV+T/VFTk/1JS5P9PT+P/TU3j/0pK4v9HR+L/RUXi/0JC4f8/P+H/PT3g/zo6 + 4P83N9//NTXf/zIy3/8vL97/LS3e/yoq3f8nJ93/JSXd/yIi3P8gINz/HR3b/xsb29cbG9v/Hh7b/yAg + 3P8iItz/JSXd/ycn3f8qKt3/LS3e/y8v3v8yMt//NDTf/zc33/86OuD/PDzg/z8/4f9CQuH/RETh/0dH + 4v9JSeL/TEzj/05O4/9RUeP/U1Pk/1VV5P9YWOX/Wlrl/1xc5f9eXub/YGDm/2Ji5v9kZOf/Zmbn/2ho + 5/9qauf/a2vo/2xs6P9ubuj/cHDo/3Fx6f9ycur/cnLq/3R05v91dd3/dnfQ/3h4w/94ebf/eXmx/3l5 + rf95ea7/eHmz/3h5u/93d8j/dnbV/3R04f9zc+j/cnLq/3Fx6f9wcOj/bm7o/21t6P9sbOj/amrn/2ho + 5/9mZuf/ZWXn/2Nj5v9hYeb/X1/m/11d5f9aWuX/WFjl/1ZW5P9UVOT/UVHk/09P4/9MTOP/Skri/0dH + 4v9FReL/QkLh/z8/4f89PeD/Ozvg/zg43/81Nd//MzPf/zAw3v8tLd7/Kyvd/ygo3f8lJd3/IyPc/yEh + 3P8eHtv/HBzb/xoa28UaGtvzHBzb/x4e2/8hIdz/IyPc/yUl3f8oKN3/Kyvd/y0t3v8wMN7/MjLf/zU1 + 3/83N9//Ojrg/z094P8/P+H/QUHh/0RE4f9HR+L/SUni/0tL4/9OTuP/UFDj/1JS5P9VVeT/V1fk/1lZ + 5f9bW+X/XV3l/19f5v9hYeb/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9qauf/bGzo/21t6P9ubuj/b2/o/29v + 6P9wcOn/cXHq/3Fx6v9xcer/cnLp/3Jy6f9ycun/cXHp/3Fx6v9xcer/cHDq/29v6f9vb+j/bm7o/21t + 6P9sbOj/amrn/2lp5/9oaOf/Zmbn/2Vl5/9jY+b/YWHm/19f5v9eXuX/XFzl/1lZ5f9XV+T/VVXk/1NT + 5P9RUeP/Tk7j/0xM4/9KSuL/R0fi/0VF4v9CQuH/QEDh/z094P86OuD/ODjg/zU13/8zM9//MDDe/y4u + 3v8rK93/KSnd/yYm3f8kJNz/ISHc/x8f3P8cHNv/Ghrb/xgY26EYGNvGGhrb/x0d2/8fH9z/ISHc/yQk + 3P8mJt3/KCjd/ysr3f8uLt7/MDDe/zMz3/81Nd//ODjf/zo64P88POD/Pz/h/0FB4f9EROH/Rkbi/0lJ + 4v9LS+P/TU3j/09P4/9SUuT/VFTk/1ZW5P9YWOX/WVnl/1xc5f9dXeX/X1/m/2Fh5v9iYub/ZGTm/2Vl + 5/9mZuf/aGjn/2lp5/9qauf/a2vo/2tr6P9sbOj/bW3o/21t6P9tbej/bm7o/21t6P9ubuj/bm7o/21t + 6P9tbej/bGzo/2xs6P9ra+j/amrn/2lp5/9oaOf/Z2fn/2Zm5/9kZOf/YmLm/2Fh5v9fX+b/Xl7l/1xc + 5f9aWuX/WFjl/1ZW5P9UVOT/UlLk/1BQ4/9OTuP/TEzj/0lJ4v9HR+L/RETh/0JC4f9AQOH/PT3g/zs7 + 4P84OOD/NTXf/zMz3/8xMd7/Li7e/yws3v8pKd3/Jyfd/yUl3P8iItz/ICDc/x0d2/8aGtv/GBjb+RcX + 2mwXF9p+GRnb+xsb2/8dHdv/Hx/c/yIi3P8kJNz/Jibd/ykp3f8rK97/Li7e/zAw3v8zM9//NTXf/zc3 + 3/86OuD/PDzg/z8/4f9BQeH/Q0Ph/0ZG4v9ISOL/Skri/0xM4/9PT+P/UVHj/1JS5P9UVOT/Vlbk/1hY + 5f9aWuX/W1vl/11d5f9fX+b/YGDm/2Fh5v9jY+b/ZGTm/2Vl5/9mZuf/Z2fn/2dn5/9oaOf/aWnn/2lp + 5/9qauf/amrn/2pq5/9qauf/aWnn/2lp5/9paef/aWnn/2ho5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Ji + 5v9gYOb/X1/m/11d5f9cXOX/Wlrl/1lZ5f9XV+T/VVXk/1NT5P9RUeP/T0/j/01N4/9LS+L/SUni/0ZG + 4v9EROH/QkLh/0BA4f89PeD/Ozvg/zg44P82Nt//MzPf/zEx3v8uLt7/LCze/yoq3f8nJ93/JSXc/yIi + 3P8gINz/Hh7b/xsb2/8ZGdv/Fxfa3xYW2jEWFtoxFxfa3BkZ2/8bG9v/Hh7b/yAg3P8iItz/JCTc/ycn + 3f8pKd3/LCze/y4u3v8wMN7/MzPf/zU13/83N9//Ojrg/zw84P8+PuD/QUHh/0ND4f9FReL/R0fi/0lJ + 4v9LS+P/TU3j/09P4/9RUeT/U1Pk/1VV5P9WVuT/WFjl/1pa5f9bW+X/XFzl/15e5v9fX+b/YGDm/2Fh + 5v9iYub/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl5/9lZef/ZWXn/2Zm5/9mZuf/Zmbn/2Vl5/9lZef/ZGTn/2Rk + 5v9jY+b/Y2Pm/2Fh5v9gYOb/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/V1fk/1VV5P9UVOT/UlLk/1BQ + 4/9OTuP/TEzj/0pK4v9ISOL/Rkbi/0ND4f9BQeH/Pz/h/z094P86OuD/ODjg/zY23/8zM9//MTHe/y4u + 3v8sLN7/Kird/ycn3f8lJd3/IyPc/yAg3P8eHtv/HBzb/xoa2/8XF9r/FhbanxYW2ggUFNoEFhbaihcX + 2v8aGtv/HBzb/x4e2/8gINz/IiLc/yUl3P8nJ93/KSnd/ysr3v8uLt7/MDDe/zIy3/81Nd//Nzff/zk5 + 4P88POD/Pj7g/0BA4f9CQuH/RETh/0ZG4v9ISOL/Skri/0xM4/9OTuP/UFDj/1FR5P9TU+T/VVXk/1ZW + 5P9XV+X/WVnl/1pa5f9bW+X/XV3l/11d5f9eXub/X1/m/2Bg5v9gYOb/YWHm/2Fh5v9hYeb/YWHm/2Ji + 5v9iYub/YmLm/2Fh5v9hYeb/YWHm/2Bg5v9fX+b/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/WFjl/1ZW + 5P9VVeT/VFTk/1JS5P9QUOP/Tk7j/01N4/9LS+L/SUni/0dH4v9FReL/QkLh/0BA4f8+PuH/PDzg/zo6 + 4P83N9//NTXf/zMz3/8xMd7/Li7e/yws3v8qKt3/Jyfd/yUl3f8jI9z/ISHc/x4e2/8cHNv/Ghrb/xgY + 2v8WFtrsFRXaQxUV2gAVFdoAFRXaJxYW2tEYGNr/Ghrb/xwc2/8eHtv/ICDc/yIi3P8lJdz/Jyfd/ykp + 3f8rK97/Li7e/zAw3v8yMt//NDTf/zc33/85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9FReL/R0fi/0lJ + 4v9KSuL/TEzj/05O4/9QUOP/UVHk/1NT5P9UVOT/VVXk/1ZW5P9XV+X/WFjl/1pa5f9bW+X/W1vl/1xc + 5f9cXOX/XV3l/11d5f9eXuX/Xl7m/15e5v9eXub/Xl7m/15e5f9dXeX/XV3l/1xc5f9bW+X/W1vl/1pa + 5f9ZWeX/WFjl/1dX5P9WVuT/VFTk/1NT5P9RUeT/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/Rkbi/0ND + 4f9CQuH/QEDh/z4+4P87O+D/OTng/zc33/81Nd//MzPf/zAw3v8uLt7/LCze/yoq3f8oKN3/JSXd/yMj + 3P8hIdz/Hx/c/x0d2/8aGtv/GBjb/xYW2v8VFdqTFBTaBxQU2gAVFdoAFxfaABUV2lcWFtrtGBja/xoa + 2/8cHNv/Hh7b/yAg3P8jI9z/JSXc/ycn3f8pKd3/Kyve/y4u3v8vL97/MjLf/zQ03/82Nt//ODjg/zo6 + 4P88POD/Pj7g/0BA4f9CQuH/RETh/0ZG4v9HR+L/SUni/0tL4/9MTOP/Tk7j/09P4/9QUOP/UlLk/1NT + 5P9UVOT/VVXk/1ZW5P9XV+T/V1fk/1hY5f9ZWeX/WVnl/1pa5f9aWuX/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9ZWeX/WVnl/1hY5f9YWOX/V1fk/1ZW5P9VVeT/VFTk/1NT5P9SUuT/UVHj/09P4/9OTuP/TU3j/0tL + 4/9JSeL/SEji/0ZG4v9FReL/QkLh/0BA4f8/P+H/PT3g/zs74P84OOD/Njbf/zQ03/8yMt//MDDe/y4u + 3v8sLN7/Kird/ygo3f8lJd3/IyPc/yEh3P8fH9z/HR3b/xoa2/8ZGdv/Fxfa/xUV2sMUFNohFRXaABQU + 2gAAAAAAFBTaABMT2gUVFdp0Fhba8hgY2v8aGtv/HBzb/x4e2/8gINz/IiLc/yQk3P8nJ93/KSnd/ysr + 3f8tLd7/Ly/e/zEx3v8zM9//NTXf/zc33/85OeD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH + 4v9JSeL/Skri/0xM4/9NTeP/Tk7j/09P4/9QUOP/UVHk/1JS5P9TU+T/VFTk/1RU5P9VVeT/VVXk/1VV + 5P9WVuT/Vlbk/1ZW5P9WVuT/Vlbk/1ZW5P9VVeT/VVXk/1VV5P9UVOT/U1Pk/1JS5P9SUuT/UVHj/1BQ + 4/9OTuP/TU3j/0xM4/9KSuL/SUni/0hI4v9GRuL/RETi/0ND4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg4 + 4P82Nt//NDTf/zIy3/8wMN7/Li7e/ysr3v8pKd3/Jyfd/yUl3f8jI9z/ISHc/x8f3P8dHdv/Gxvb/xgY + 2/8XF9r/FRXa0xUV2jkWFtoAExPaAAAAAAAAAAAAAAAAABUV2gAVFdoIFRXacBYW2uoYGNv/Ghrb/xwc + 2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjg/zo6 + 4P88POD/PT3g/z8/4f9BQeH/QkLh/0RE4f9GRuL/R0fi/0hI4v9JSeL/S0vi/0xM4/9NTeP/Tk7j/09P + 4/9PT+P/UFDj/1BQ4/9RUeP/UVHk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UVHj/1FR + 4/9QUOP/T0/j/09P4/9OTuP/TU3j/0xM4/9LS+P/Skri/0hI4v9HR+L/Rkbi/0VF4v9DQ+H/QUHh/z8/ + 4f8+PuD/PDzg/zo64P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj + 3P8hIdz/Hx/c/x0d2/8bG9v/GRnb/xcX2v8VFdrJFRXaOxIS2gAVFdoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAVFdoAFBTaBBYW2k8XF9rJGBjb/Boa2/8cHNv/Hh7b/yAg3P8iItz/JCTc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zEx3v8zM9//NTXf/zc33/85OeD/Ojrg/zw84P8+PuD/Pz/h/0BA4f9CQuH/Q0Ph/0VF + 4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4/9MTOP/TEzj/01N4/9NTeP/Tk7j/05O4/9OTuP/Tk7j/05O + 4/9OTuP/T0/j/05O4/9OTuP/TU3j/01N4/9NTeP/TEzj/0tL4/9KSuL/SUni/0hI4v9HR+L/Rkbi/0VF + 4v9EROH/QkLh/0FB4f9AQOH/Pj7g/zw84P87O+D/OTng/zc33/82Nt//NDTf/zIy3/8wMN7/Li7e/yws + 3v8qKt3/KSnd/ycn3f8kJNz/IiLc/yAg3P8eHtv/HR3b/xsb2/8ZGdv/Fxfa8hYW2p8VFdonFhbaABQU + 2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhbaAAAAwwAXF9oeFxfaeBkZ284aGtv2HBzb/x4e + 2/8gINz/ISHc/yMj3P8lJd3/Jyfd/ykp3f8rK93/LS3e/y8v3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk5 + 4P86OuD/PDzg/z094P8/P+H/QEDh/0FB4f9CQuH/RETh/0RE4f9FReL/Rkbi/0dH4v9ISOL/SEji/0lJ + 4v9KSuL/Skri/0pK4v9LS+L/S0vj/0tL4v9LS+P/S0vi/0pK4v9KSuL/Skri/0lJ4v9JSeL/SEji/0dH + 4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ozvg/zk54P84OOD/Njbf/zQ0 + 3/8zM9//MTHe/y8v3v8tLd7/Kyve/ykp3f8oKN3/Jibd/yQk3P8iItz/ICDc/x4e2/8cHNv/Ghrb/hkZ + 2+wXF9qzFhbaUhUV2gsWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAXF9oAFxfaAhgY2iAZGdthGhrbpRwc29YeHtvxHx/c/CEh3P8jI9z/JSXd/ycn3f8pKd3/Kird/yws + 3v8uLt7/MDDe/zEx3v8zM9//NDTf/zY23/83N9//OTng/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/Q0Ph/0RE4f9EROL/RUXi/0ZG4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0dH4v9ISOL/SEji/0dH + 4v9HR+L/Rkbi/0ZG4v9FReL/RUXi/0RE4f9DQ+H/Q0Ph/0JC4f9AQOH/QEDh/z4+4f89PeD/PDzg/zs7 + 4P86OuD/ODjg/zc33/81Nd//MzPf/zEx3v8wMN7/Ly/e/y0t3v8rK93/KSnd/ycn3f8lJd3/JCTc/yIi + 3P8gINz/Hh7b+Rwc2+kbG9vHGhrbjRgY2kcXF9oQHBzbABMT2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+AAAAAAAAAAAAAP/8AAAAAAAAAAAAAD/wAAAAAAAAAAAAAB/gAAAAAAAAAAAAAA/AAAAAAAAAAAAA + AAfAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAHAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAA/wAAAAAAAAAAAAAB/8AAAAAAAAAAAA + AD/+AAAAAAAAAAAAAP8oAAAAgAAAAAABAAABACAAAAAAAAAAAQCdBAAAnQQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkJEhLZLhIS2WYSEtmgEhLZzBIS + 2egSEtn2EhLZ/hIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa + 3P8bG9r/Hx/H/yYmpP8sLYL/MTFq/zM0Xf80NFn/NDVZ/zQ1Wf80NVn/NTVZ/zU1Wf81NVn/NTVZ/zU2 + Wv81Nlr/NTZa/zU2Wv81Nlr/NTZa/zU2Wv81Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2 + Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zY2Wv82Nlr/NjZa/zU2Wv81Nlr/NTZa/zU2 + Wv81Nlr/NTZa/zU2Wv81Nlr/NTVZ/zU1Wf81NVn/NDVZ/zQ1Wf80NVn/NDVZ/zQ0Wf80NFv/MjNi/y8v + dP8pKpL/IiK3/x0d0/8aGt3/GRnb/xgY2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2foSEtnwEhLZ3BIS2bkSEtmDEhLZSRIS2RcSEtkCEhLZAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS + 2QASEtkNEhLZSBIS2ZsSEtnYEhLZ9RIS2f4SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU + 2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9v/ICDD/yoqjP8zNFv/NzhE/zk5PP85Ojv/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6 + Ov85Ojr/OTo6/zk6Ov85Ojr/OTo6/zk6Ov85Ojv/OTk7/zg5P/82Nk3/Ly9x/yQlqf8cHNT/Ghrc/xkZ + 2/8YGNv/Fxfa/xYW2v8VFdr/FBTa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fsSEtnqEhLZvRIS2XISEtkkEhLZAhIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkFEhLZPBIS2aUSEtnsEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9z/HBzX/yYn + ov80NFn/OTk8/zk6Of85Ojv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk6Ov85Ojn/NzhF/y0uev8gIMX/Gxvc/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xQU + 2v8UFNr/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ+hIS2dASEtlvEhLZFxIS + 2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkAEhLZERIS + 2XQSEtngEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xcX + 2v8YGNr/GRnb/xoa2/8bG9v/HBzc/x4e0/8qK47/NzdH/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85Ojr/OTk7/zIy + ZP8jI7j/HBzc/xsb2/8ZGdv/GRnb/xgY2v8XF9r/FRXa/xUV2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fcSEtmyEhLZNxIS2QESEtkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2RwSEtmaEhLZ9RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtr/EhLa/xMT2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ2/8bG9v/HBzb/xwc3P8eHtf/KyyM/zg4 + Qf85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zM0XP8iIr3/HBzd/xsb2/8aGtv/Ghrb/xgY + 2/8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtnWEhLZUxIS2QQSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkeEhLZqBIS + 2fsSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FBTa/xYW2v8XF9r/Fxfa/xkZ + 2/8aGtv/Gxvb/xwc2/8dHdz/Hx/b/ykpoP83OEb/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTo6/zEyav8hIcv/HR3c/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtniEhLZWxIS2QMSEtkAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZFRIS2Z8SEtn8EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2/8ZGdv/Gxvb/xwc2/8dHdv/Hh7b/x8f3f8kJMP/NTVX/zk6 + Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODk9/ywsjv8fH9v/Hh7c/x0d + 2/8cHNv/Gxvb/xkZ2/8YGNv/Fxfa/xYW2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtngEhLZThIS2QASEtkAAAAAAAAAAAAAAAAAEhLZABIS2QYSEtl/EhLZ+BIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8VFdr/Fxfa/xgY2v8ZGdv/Ghrb/xsb + 2/8cHNv/HR3b/x8f3P8gINz/ISHa/y4uiP85OTz/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojr/NTZT/yUlwP8gIN3/Hx/c/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX + 2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnPEhLZLxIS + 2QASEtkAAAAAABIS2QASEtkAEhLZSxIS2ecSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT + 2v8UFNr/Fhba/xcX2v8YGNr/GRnb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ISHc/yIi3f8mJsb/NTZW/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTz/LS2P/yIi + 3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8ZGdv/GBja/xcX2v8WFtr/FBTa/xMT2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtmjEhLZDxIS2QAAAAAAEhLZABIS2RcSEtm3EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FBTa/xYW2v8XF9r/GBjb/xoa2/8bG9v/HBzb/x0d + 2/8fH9z/ICDc/yEh3P8iItz/JCTe/ywspv84OUH/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Of8zNGj/JSXS/yIi3f8hIdz/ICDc/x8f3P8dHdv/HBzb/xsb + 2/8aGtv/GBjb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fISEtlcEhLZABIS2QASEtkAEhLZXxIS2fUSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV + 2v8WFtr/Fxfa/xgY2/8aGtv/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yQk3f8mJtv/MTGD/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zc3 + Tf8pKb//JCTe/yMj3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv/GBjb/xcX2v8WFtr/FRXa/xQU + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2b0SEtkXEhLZABIS2RQSEtm2EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU2v8VFdr/Fhba/xgY2v8ZGdv/Ghrb/xsb2/8dHdv/Hh7b/x8f + 3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo2P8zNHH/OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODhE/ywssP8mJt//JSXd/yQk3P8iItz/ISHc/x8f + 3P8eHtv/HR3b/xwc2/8aGtv/GRnb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ8xIS2VcSEtkAEhLZShIS2ekSEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xYW + 2v8XF9r/GRnb/xoa2/8cHNv/HR3b/x8f3P8gINz/ISHc/yIi3P8kJNz/Jibd/ycn3f8oKN7/KyvT/zU2 + Zf85Ojn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/84OUD/Ly+l/ygo3/8nJ93/Jibd/yQk3P8jI9z/ISHc/yAg3P8eHtv/HR3b/xsb2/8aGtv/GRnb/xcX + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZoRIS2QoSEtmQEhLZ/BIS + 2f8SEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ2/8aGtv/HBzb/x0d2/8fH9v/ICDc/yIi + 3P8jI9z/JCTc/yYm3f8oKN3/KSnd/yoq3v8tLdD/Njdf/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5Pv8xMZ3/Kirf/ykp3f8oKN3/Jibd/yUl + 3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU2v8TE9r/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtnXEhLZKhIS2c4SEtn/EhLZ/xIS2f8SEtr/ExPa/xQU2v8VFdr/Fhba/xgY + 2v8ZGdv/Gxvb/xwc2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yUl3f8mJt3/KCjd/ykp3f8rK93/LCzf/y8v + 0P83N1//OTo5/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk+/zIynf8sLOD/Kyvd/yoq3f8oKN3/Jyfd/yUl3f8jI9z/IiLc/yAg3P8fH9z/HR3b/xwc + 2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2fESEtlZEhLZ9RIS + 2f8SEtn/EhLa/xMT2v8UFNr/FRXa/xYW2v8YGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk + 3P8lJd3/Jyfd/ygo3f8qKt3/Kyve/y0t3v8uLt//MDDQ/zc3X/85Ojn/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OT7/MzOd/y4u4P8tLd7/Kyvd/yoq + 3f8oKN3/Jyfd/yUl3f8kJNz/IiLc/yEh3P8fH9z/HR3b/xwc2/8bG9v/GRnb/xgY2v8XF9r/FRXa/xQU + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ+xIS2YYSEtn/EhLZ/xIS2v8TE9r/FBTa/xUV2v8WFtr/GBja/xkZ + 2/8bG9v/HBzb/x4e2/8fH9z/ISHc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw + 3/8yMtD/Nzhf/zk5Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5Pv80NJ3/MDDg/y8v3v8tLd7/LCze/yoq3f8pKd3/Jyfd/yUl3f8kJNz/IyPc/yEh + 3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtn/EhLZqhIS + 2f8SEtr/ExPa/xMT2v8VFdr/Fhba/xgY2v8ZGdv/Gxvb/xwc2/8eHtv/Hx/c/yEh3P8iItz/JCTc/yYm + 3f8nJ93/KSnd/ysr3f8sLN7/Li7e/y8v3v8xMd7/MzLg/zQ00f84OF//OTk5/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk+/zY2nf8yMuD/MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2f8SEtnAEhLZ/xIS2v8UFNr/FRXa/xYW2v8YGNr/GRnb/xoa + 2/8cHNv/Hh7b/yAg3P8hIdz/IiLc/yQk3P8mJt3/Jyfd/ykp3f8rK93/LCze/y4u3v8vL97/MTHe/zMz + 3/81NeD/NjbR/zg5X/85OTn/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OT7/Nzee/zQ04f8zM9//MTHe/zAw3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm + 3f8kJNz/IyPc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xcX2v8WFtr/FRXa/xQU2v8TE9r/EhLZ/xIS + 2csSEtr/ExPa/xQU2v8WFtr/Fxfa/xkZ2/8aGtv/HBzb/x4e2/8gINz/ISHc/yMj3P8kJNz/Jibd/ycn + 3f8pKd3/Kyvd/yws3v8uLt7/MDDe/zEx3v8zM9//NTXf/zc34P84ONH/OTpf/zk6Ov85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6Pv84OJ7/Nzfh/zU1 + 3/8zM9//MTHe/zAw3v8vL97/LS3e/ysr3f8pKd3/KCjd/yYm3f8kJNz/IyPc/yEh3P8fH9z/Hh7b/xwc + 2/8bG9v/GRnb/xcX2v8WFtr/FRXa/xMT2v8SEtr/EhLazhMT2v8UFNr/Fhba/xcX2v8YGNv/Ghrb/xwc + 2/8dHdv/Hx/c/yEh3P8iItz/JCTc/yYm3f8nJ93/KSnd/ysr3f8tLd7/Li7e/zAw3v8yMt//NDTf/zU1 + 3/83N9//ODjh/zo60v86O2D/Ojs7/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs//zo6n/85OeH/Nzff/zU13/8zM9//MjLf/zAw3v8uLt7/LS3e/ysr + 3v8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8aGtv/GRnb/xcX2v8VFdr/FBTa/xMT + 2v8SEtrOFBTa/xUV2v8XF9r/GBjb/xoa2/8bG9v/HR3b/x8f3P8gINz/IiLc/yQk3P8mJt3/Jyfd/ykp + 3f8rK93/LS3e/y8v3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk54P87O+H/PDzS/zw8Yf87PDz/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PED/PDyf/zs7 + 4v85OeD/Nzff/zY23/80NN//MjLf/zAw3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yAg + 3P8fH9z/HR3b/xwc2/8aGtv/GBja/xcX2v8VFdr/FBTa/xMT2s4VFdr/Fhba/xgY2v8aGtv/Gxvb/x0d + 2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyvd/y0t3v8uLt7/MDDe/zIy3/80NN//Njbf/zc3 + 3/85OeD/Ozvg/z094f8+PtP/PT5i/zw9Pf89PT//PT0//z09P/88PT//PD0//zw9P/88PT//PT0//z09 + P/88PT//PT0//z09P/89PT//PT0//z09P/88PT//PD0//z09P/89PT//PT0//z09P/88PT//PD0//z09 + P/89PT//PT0//z09P/89PT//PD0//z09P/88PT//PT0//z09P/89PT//PT0//z09P/89PT//PT0//z09 + P/88PT//PT0//z09P/89PT//PD0//zw9P/89PT//PT0//zw9P/89PT//PT0//z09P/89PT//PT0//z09 + P/89PT//PT0//zw9P/88PT//PD0//z09P/88PT//PD0//z09P/89PT//PT0//z09P/89PT//PT0//z09 + P/88PT//PD0//zw9P/88PT//PD0//z09Qv89PqD/PT3i/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw + 3v8uLt7/LS3e/ysr3f8pKd3/Jyfd/yUl3f8kJNz/IiLc/yAg3P8fH9z/HR3b/xsb2/8ZGdv/GBjb/xcX + 2v8VFdr/FBTazhYW2v8XF9r/GRnb/xsb2/8dHdv/Hh7b/yAg3P8iItz/JCTc/yUl3f8nJ93/KSnd/ysr + 3f8tLd7/Li7e/zAw3v8yMt//NDTf/zY23/83N9//OTng/zs74P89PeD/Pz/i/0BA0/8/P2P/Pj4//z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4/ + Qf8+P0H/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5A/z4+Qf8+PkH/Pj5B/z4+ + Qf8+PkH/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+P0H/Pj5B/z4+Qf8+PkH/Pj5B/z4+Qf8+PkD/Pj5D/z8/ + of8/P+L/PT3g/zs74P85OeD/ODjf/zY23/80NN//MjLf/zAw3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yUl + 3f8jI9z/IiLc/yAg3P8eHtv/HR3b/xsb2/8ZGdv/Fxfa/xYW2v8VFdrOFxfa/xkZ2/8aGtv/HBzb/x4e + 2/8gINz/ISHc/yMj3P8lJd3/Jyfd/ygo3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjf/zo6 + 4P87O+D/PT3g/z8/4f9BQeL/QkLT/0BAZP8/QED/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QET/QUGh/0FB4/8/P+H/PT3g/zs74P86OuD/ODjf/zY2 + 3/80NN//MjLf/zAw3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yUl3P8jI9z/ISHc/yAg3P8eHtv/HBzb/xoa + 2/8ZGdv/Fxfa/xYW2s4YGNr/Ghrb/xwc2/8dHdv/Hx/c/yEh3P8jI9z/JSXc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zIy3/80NN//Njbf/zc33/86OuD/Ozvg/z094P8/P+H/QUHh/0ND4v9ERNT/QUJm/0BB + Qf9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Rv9DQ6L/Q0Pj/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/yoq + 3f8oKN3/Jibd/yUl3f8jI9z/ISHc/x8f3P8dHdv/HBzb/xoa2/8YGNv/Fxfazhoa2/8bG9v/HR3b/x4e + 2/8gINz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw3v8yMt//NDTf/zY23/84ON//OTng/zs7 + 4P89PeD/Pz/h/0FB4f9DQ+H/RUXi/0ZG1P9DQ2f/QUJD/0FCRf9BQkT/QUJF/0FCRf9BQkX/QUJF/0FC + Rf9BQkX/QUJE/0FCRf9BQkX/QUJF/0FCRP9BQkT/QUJF/0FCRf9BQkT/QUJE/0FCRf9BQkX/QUJF/0FC + Rf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJE/0FC + RP9BQkT/QUJF/0FCRP9BQkX/QUJF/0FCRf9BQkX/QUJF/0FCRf9BQkX/QUJE/0FCRf9BQkX/QUJF/0FC + Rf9BQkT/QUJE/0FCRf9BQkT/QUJE/0FCRf9BQkX/QUJE/0FCRP9BQkX/QUJF/0FCRP9BQkT/QUJF/0FC + RP9BQkT/QUJE/0FCRP9BQkX/QUJF/0FCRf9BQkT/QUJH/0RFo/9FReP/Q0Ph/0FB4f8/P+H/PT3g/zs7 + 4P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/yoq3f8oKN3/Jibd/yQk3P8iItz/ICDc/x4e + 2/8dHdv/Gxvb/xoa2/8YGNrOGxvb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyve/y0t + 3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+P/SEjV/0RF + aP9CQ0T/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9CQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0JDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9CQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9CQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/QkNG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0j/Rkak/0dH5P9FReL/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v + 3v8uLt7/Kyve/ykp3f8oKN3/Jibd/yMj3P8iItz/ICDc/x4e2/8dHdv/Gxvb/xkZ284cHNv/Hh7b/yAg + 3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr3f8tLd7/Ly/e/zEx3v8zM9//NTXf/zc33/85OeD/Ozvg/z09 + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0lJ4/9KStX/RUZp/0RERf9EREf/REVH/0RFR/9EREf/REVH/0RF + R/9EREf/REVH/0RER/9ERUf/REVH/0RER/9EREf/RERH/0RER/9ERUf/REVH/0RER/9EREf/REVH/0RF + R/9EREf/RERH/0RFR/9ERUf/RERH/0RFR/9ERUf/REVH/0RER/9EREf/RERH/0RFR/9ERUf/REVH/0RF + R/9ERUf/RERH/0RFR/9EREf/RERH/0RFR/9ERUf/REVH/0RFR/9ERUf/REVH/0RER/9EREf/RERH/0RE + R/9ERUf/RERH/0RER/9EREf/RERH/0RER/9ERUf/REVH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RF + R/9EREf/RERH/0RFR/9ERUf/RERH/0RFR/9EREf/RERH/0RFSf9HSKT/SUnk/0dH4v9FReL/Q0Ph/0FB + 4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj + 3P8hIdz/Hx/c/x4e2/8cHNv/Ghrbzh0d2/8fH9z/ICDc/yIi3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u + 3v8wMN7/MjLf/zQ03/83N9//ODjg/zo64P89PeD/Pz/h/0FB4f9DQ+H/RUXi/0dH4v9JSeL/S0vj/0xM + 1f9HR2r/RUZH/0VGSf9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VGSP9FRkj/RUZI/0VG + SP9FRkj/RUZL/0lJpf9LS+T/SUni/0dH4v9FReL/Q0Ph/0FB4f8/P+H/PT3g/zo64P84OOD/Njbf/zQ0 + 3/8yMt//MDDe/y8v3v8tLd7/Kyvd/ygo3f8mJt3/JCTc/yIi3P8hIdz/Hx/c/x0d2/8cHNvOHh7b/yAg + 3P8iItz/JCTc/yYm3f8oKN3/Kird/yws3v8uLt7/MDDe/zIy3/80NN//Njbf/zg44P86OuD/PDzg/z4+ + 4f9AQOH/Q0Ph/0RE4f9HR+L/SUni/0tL4v9NTeT/Tk7W/0hJa/9GR0j/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSf9GR0z/S0um/01N5f9LS+P/SUni/0dH + 4v9FReL/QkLh/0BA4f8+PuH/PDzg/zo64P84OOD/Njbf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo + 3f8mJt3/JCTc/yIi3P8gINz/Hh7b/x0d284gINz/ISHc/yMj3P8lJd3/Jyfd/ykp3f8rK97/LS3e/y8v + 3v8xMd7/MzPf/zY23/84ON//Ojrg/zw84P8+PuD/QEDh/0JC4f9EROH/Rkbi/0hI4v9KSuL/TEzj/09P + 5P9QUNb/Skps/0dISf9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dIS/9HSEv/SEhL/0dIS/9HSEv/R0hL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0hITf9NTab/T0/l/01N4/9LS+L/SEji/0ZG4v9EROH/QkLh/0BA4f8+PuD/PDzg/zo6 + 4P84ON//Njbf/zMz3/8yMt//Ly/e/y0t3v8rK97/KSnd/ycn3f8mJt3/IyPc/yEh3P8fH9z/Hh7bziEh + 3P8iItz/JCTc/ycn3f8pKd3/Kird/y0t3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/Pj7g/z8/ + 4f9BQeH/RETh/0ZG4v9ISOL/Skri/0xM4/9OTuP/UVHk/1JS1/9LTG3/SUlL/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9ISUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lKTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJ + TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUpP/05Pp/9RUeX/T0/j/0xM + 4/9KSuL/SEji/0ZG4v9EROH/QkLh/0BA4f8+PuD/Ozvg/zk54P83N9//NTXf/zMz3/8xMd7/Ly/e/y0t + 3v8qKt3/KCjd/yYm3f8kJNz/IiLc/yAg3P8fH9zOIiLc/yQk3P8lJd3/Jyfd/ykp3f8rK97/Li7e/zAw + 3v8yMt//NDTf/zY23/85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9FReL/SEji/0pK4v9MTOP/Tk7j/1BQ + 4/9TU+X/U1PX/0xNbv9KSkz/SktO/0pLTv9KS07/SktO/0pKTf9KS03/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SkpN/0pLTv9KS07/SktO/0pLTv9KS03/SktN/0pLTf9KS07/SktO/0pL + Tv9KS07/SktN/0pLTv9KS07/SktO/0pLTv9KSk3/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tf9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktN/0pKTf9KSk3/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTf9KS1D/UFCo/1NT5f9RUeP/T0/j/0xM4/9KSuL/SEji/0ZG4v9EROH/QUHh/z8/ + 4f89PeD/Ozvg/zk54P82Nt//NDTf/zIy3/8wMN7/Li7e/yws3v8qKt3/Jyfd/yUl3f8kJNz/IiLc/yAg + 3M4jI9z/JSXc/ycn3f8pKd3/Kyvd/y0t3v8vL97/MTHe/zIy3/80NN//Njbf/zg44P86OuD/PT3g/z8/ + 4f9BQeH/Q0Ph/0VF4v9ISOL/Skri/0xM4/9OTuP/UVHj/1NT5f9UVNf/TU5v/0tMTf9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMUf9RUaj/U1Pl/1FR + 5P9PT+P/TU3j/0pK4v9ISOL/Rkbi/0RE4f9BQeH/Pz/h/z094P86OuD/ODjg/zY23/80NN//MjLf/zAw + 3v8vL97/LS3e/ysr3f8pKd3/Jyfd/yUl3f8jI9z/ISHcziQk3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw + 3v9AQOH/UFDj/1JS5P9UVOT/Vlbk/1dX5f9aWuX/XFzl/11d5f9gYOb/YmLm/2Nj5v9lZef/Z2fn/2lp + 5/9ra+j/bW3p/2xs2/9UVXH/TE1O/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TU5T/2Fhq/9tber/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/11d + 5f9bW+X/Wlrl/1hY5f9WVuT/VFTk/1JS5P9QUOP/Skri/zQ03/8uLt7/LCze/yoq3f8oKN3/Jibd/yQk + 3P8iItzOJSXd/ycn3f8pKd3/Kyve/y4u3v8vL97/MTHe/4uL7f/k5Pv/5OT7/+Tk+//k5Pv/5OT7/+Xl + +//l5fv/5eX7/+bm+//m5vv/5ub7/+fn+//n5/v/5+f7/+jo+//p6fz/29vt/29wdv9LTE//TU5R/05O + Uv9NTlL/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9OTlL/Tk5S/01OUf9NTlH/TU5R/01O + Uf9NTlH/Tk5S/01OUf9NTlH/Tk5S/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5S/01OUv9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9OTlL/TU5S/01OUf9NTlH/TU5R/01OUv9NTlH/TU5R/01OUv9NTlH/TU5R/01O + Uf9NTlH/TU5S/01OUf9NTlH/TU5R/01OUv9NTlH/TU5R/01OUv9OTlL/TU5R/01OUf9QUVT/qqu3/+rq + /f/o6Pv/5+f7/+fn+//n5/v/5ub7/+bm+//m5vv/5eX7/+Xl+//l5fv/5eX7/+Tk+//k5Pv/5OT7/+Xl + +//Ly/f/SUni/y4u3v8tLd7/Kyve/ykp3f8nJ93/JSXd/yMj3M4mJt3/KCjd/yoq3f8tLd7/Ly/e/zAw + 3v8yMt//mprv//////////////////////////////////////////////////////////////////// + ///////////////////w8PD/dXZ4/0xNUf9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T1BT/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PT1P/T09T/09PU/9PT1P/T1BT/09PU/9PUFP/T1BT/09PU/9PT1P/T09T/09PU/9PT1P/T09T/09P + U/9PUFP/T09T/09PU/9PUFP/Tk9S/1FSVf+5ubr///////////////////////////////////////// + /////////////////////////////////////////////+Tk+/9PT+P/Ly/e/y8v3v8sLN7/Kird/ygo + 3f8mJt3/JCTczicn3f8pKd3/Kyve/y4u3v8wMN7/MjLf/zMz3/+amu////////////////////////// + //////////////////////////////////////////////////////////////Dw8P92d3n/Tk5S/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUVT/UFFU/1BRVP9QUFT/U1RX/7m6 + u/////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1BQ4/8wMN7/MDDe/y4u3v8sLN7/KSnd/ycn3f8lJd3OKSnd/ysr3f8tLd7/Ly/e/zEx + 3v8zM9//NDTf/5ub7/////////////////////////////////////////////////////////////// + ////////////////////////9PT0/35+gf9PT1P/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FRVf9WVlr/wsLE//////////////////////////////////// + ///////////////////////////////////////////////////j4/v/UVHj/zIy3/8xMd7/Ly/e/yws + 3v8qKt3/KCjd/yYm3c4pKd3/Kyve/y4u3v8wMN7/MjLf/zQ03/81Nd//m5vv//////////////////// + ///////////////////////////////////////////////////////////////////5+fn/i4uO/1BR + VP9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1b/UlNX/1JTV/9SU1f/UlNX/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNX/1JT + V/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlNX/1JTV/9SU1f/UlJW/1tc + X//Oz9D///////////////////////////////////////////////////////////////////////// + /////////////+Tk+/9SUuT/MzPf/zIy3/8wMN7/LS3e/ysr3v8pKd3/Jyfdzioq3f8sLN7/Ly/e/zEx + 3v8zM9//Njbf/zc33/+cnO////////////////////////////////////////////////////////// + //////////////////////////////39/f+foKL/UlNX/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1NU + WP9TVFj/VFRY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1NUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9UVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9TVFj/VFRY/1RUWP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NU + WP9TVFj/U1RY/1NUWP9TVFj/U1RY/1NUWP9UVFj/U1RY/1NUWP9UVFj/VFRY/1NUWP9UVFj/VFRY/1NU + WP9TVFj/U1RY/1RUWP9TVFj/VFRY/1RUWP9SU1f/Zmdq/9/f3/////////////////////////////// + ////////////////////////////////////////////////////////5OT7/1JS5P80NN//MzPf/zEx + 3v8uLt7/LCze/yoq3f8oKN3OKyve/y0t3v8wMN7/MjLf/zQ03/83N9//ODjf/52d7/////////////// + /////////////////////////////////////////////////////////////////////////////8XF + xv9bXF//VFVZ/1VWWf9VVln/VVZZ/1VVWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VVWf9VVln/VVZZ/1VW + Wf9VVVn/VVVZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVVZ/1VVWf9VVln/VVZZ/1VVWf9VVVn/VVVZ/1VV + Wf9VVVn/VVZZ/1VWWf9VVVn/VVVZ/1VWWf9VVVn/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVVZ/1VW + Wf9VVln/VVZZ/1VWWf9VVVn/VVVZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVVn/VVZZ/1VW + Wf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVln/VVZZ/1VWWf9VVVn/VVZZ/1VWWf9VVln/VVZZ/1JT + V/+DhIf/9PT0//////////////////////////////////////////////////////////////////// + ///////////////////k5Pv/VFTk/zU13/80NN//MjLf/y8v3v8tLd7/Kyvd/ykp3c4sLN7/Ly/e/zEx + 3v8zM9//Njbf/zg43/85OeD/nZ3w//////////////////////////////////////////////////// + ////////////////////////////////////////5+fo/3Jydf9UVVn/Vlda/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vlda/1ZXW/9WV1v/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1v/Vlda/1ZXWv9WV1r/Vlda/1ZX + Wv9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXWv9WV1r/Vlda/1ZXWv9WV1v/Vlda/1ZXW/9WV1v/Vlda/1ZX + Wv9WV1r/Vlda/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXW/9WV1v/Vlda/1ZX + Wv9WV1v/Vldb/1ZXW/9WV1r/Vlda/1ZXWv9WV1r/Vldb/1ZXW/9WV1r/Vldb/1ZXWv9WV1r/Vlda/1ZX + W/9WV1v/Vlda/1ZXW/9WV1r/Vlda/1ZXW/9WVlr/Vldb/66usP////////////////////////////// + /////////////////////////////////////////////////////////////+Tk+/9VVeT/Njbf/zU1 + 3/8zM9//MTHe/y4u3v8sLN7/Kirdzi0t3v8vL97/MjLf/zQ03/83N9//OTng/zo64P+envD///////// + //////////////////////////////////////////////////////////////////////////////// + ///8/P3/p6iq/1hZXf9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1ZW + Wv9wcXT/4eHi//////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1VV5P83N9//Njbf/zQ03/8xMd7/Ly/e/y0t3v8rK93OLi7e/zAw + 3v8zM9//NTXf/zg43/86OuD/Ozvg/56e8P////////////////////////////////////////////// + ///////////////////////////////////////////////////k5OX/dXZ5/1ZXW/9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1hZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9YWV3/Wltf/66usP/9/f3///////////////////////// + ///////////////////////////////////////////////////////////////////k5Pv/Vlbk/zg4 + 4P83N9//NTXf/zMz3/8wMN7/Li7e/yws3s4vL97/MTHe/zQ03/82Nt//ODjg/zs74P88POD/n5/w//// + //////////////////////////////////////////////////////////////////////////////// + //////////////7+/v/BwcP/ZGVp/1hZXf9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1pa + Xv9aWl7/WVpe/1paXv9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9aWl7/Wlpe/1la + Xv9aWl7/Wlpe/1paXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1paXv9aWl7/Wlpe/1paXv9aWl7/WVpe/1la + Xv9aWl7/Wlpe/1paXv9aWl7/WVpe/1laXv9ZWl7/Wlpe/1paXv9aWl7/WVpe/1laXv9ZWl7/Wlpe/1pa + Xv9aWl7/Wlpe/1laXv9ZWl7/WVpe/1paXv9aWl7/Wlpe/1laXv9aWl7/Wlpe/1paXv9aWl7/WVpe/1lZ + Xf+Kio3/7e3t//////////////////////////////////////////////////////////////////// + /////////////////////////////+Xl+/9XV+T/OTng/zg44P82Nt//MzPf/zEx3v8vL97/LS3ezjAw + 3v8yMt//NTXf/zc33/85OeD/PDzg/z094P+fn/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////r6+v+urrD/YGFl/1la + Xv9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1pbX/9ZWl7/fH2A/9/f4P////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/1hY + 5f86OuD/OTng/zc33/80NN//MjLf/zAw3v8uLt7OMTHe/zMz3/81Nd//ODjf/zo64P88POD/Pj7g/6Cg + 8P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////X29v+wsLL/aGhs/1pbX/9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9bXGD/XF1h/4WG + if/b29z///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////l5fv/WVnl/zs74P86OuD/ODjf/zU13/8zM9//MDDe/y4u + 3s4yMt//NDTf/zY23/84OOD/Ozvg/z4+4P8/P+H/oKDw//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////r6 + +v/Fxcf/e3x//15fY/9bXGH/XV1i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9cXWH/W1xh/2dobP+cnZ//6Ojo//////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Xl + +/9ZWeX/PDzg/zs74P84OOD/Njbf/zQ03/8xMd7/Ly/ezjIy3/80NN//Nzff/zk54P88POD/Pj7h/0BA + 4f+hofD///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////7+/v/m5uf/rq+x/31+gv9mZ2v/Xl9j/1xd + Yv9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWL/XV5i/11eYv9dXmP/Xl9j/15fY/9eX2P/Xl5j/11e + Y/9dXmL/XV1i/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9dXmL/YWJm/29wc/+TlJf/zMzO//f3 + 9/////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/1tb5f89PeD/PDzg/zk54P83N9//NDTf/zIy + 3/8wMN7OMzPf/zU13/84ON//Ojrg/z094P8/P+H/QUHh/6Gh8P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////9/f3/7Ozt/83Oz/+wsbP/nJ2f/5KTlv+Pj5P/j4+S/4+Pkv+Pj5L/j4+S/4+P + kv+Pj5L/j4+S/4+Pkv+Pj5L/j4+T/4+Pkv+Pj5L/j4+S/4+Pkv+Pj5L/j5CT/5CRlP+QkZT/jo+S/4mK + jf+Cg4f/eXp+/3JzeP9ub3T/amtw/2xtcf9wcXb/dXZ6/35+gv+Gh4r/jI2Q/5CQk/+QkZT/kJCT/4+Q + k/+Pj5L/j4+S/4+Pkv+Pj5L/j4+S/4+Pkv+Pj5L/j4+T/4+Pkv+Pj5P/j4+T/4+Pkv+Pj5L/j4+T/4+P + kv+QkJP/lpaZ/6WlqP++vsD/3t7f//f39/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///l5fv/XFzl/z4+4P89PeD/Ojrg/zg43/81Nd//MzPf/zEx3s40NN//Njbf/zg44P87O+D/PT3g/0BA + 4f9BQeH/oqLw//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/7+/v/+fn5//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4 + +P/4+Pj/+fn5//j4+f/x8fH/4ODi/8nKzP+wsbX/nZ6i/4+Qlf+EhYr/f4CG/3x9g/96e4H/enyB/31+ + hP+Bgof/iImP/5WWm/+lpqr/vb3B/9XW1//p6er/9vb2//n5+f/5+fn/+Pj4//j4+P/4+Pj/+Pj4//j4 + +P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/6+vr//f39//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xl+/9cXOX/Pj7h/z094P87O+D/ODjg/zY2 + 3/8zM9//MTHezjQ03/82Nt//OTng/zw84P8+PuH/QUHh/0JC4f+iovD///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////z8/P/p6uv/yMnL/6OkqP+Ki5H/fX6E/3d4 + fv90dXv/c3R6/3Jzef9yc3j/cXN4/3FyeP9xcnj/cnN4/3Jzef9zdHn/c3V6/3V2fP95eoD/g4SJ/5WW + m/+1trr/2trc//X19v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/1xc5f8/P+H/Pj7h/zw84P85OeD/Nzff/zQ03/8yMt/ONTXf/zc33/86OuD/PDzg/z8/ + 4f9BQeH/Q0Ph/6Ki8P////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v7 + +//i4uP/tLW4/42Ok/97fIL/dHV7/3Jzef9wcnf/b3B1/21udP9sbXL/a2xx/2prcP9qa3D/amtw/2pr + cP9qa3D/a2xx/2xtcv9tbnP/bm91/3Bxdv9xcnj/c3R6/3Z3ff+Cg4j/np+j/8zNz//y8vL///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////l5fv/XV3l/0BA4f8/P+H/PDzg/zo6 + 4P83N9//NTXf/zIy3842Nt//ODjg/zo64P89PeD/QEDh/0JC4f9EROH/o6Pw//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v/n5+j/s7O3/4iJj/93eH7/c3R6/3Fyd/9ub3T/bG1y/2pr + cP9oaW7/Zmds/2Vma/9kZWr/ZGVp/2Nkaf9jZGj/Y2Ro/2Nkaf9kZWr/ZWZq/2Zna/9naG3/aWpv/2ts + cf9tbnP/b3B2/3JzeP90dXv/fX6E/5qboP/Pz9H/9/f3//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9eXub/QUHh/0BA4f89PeD/Ojrg/zg43/81Nd//MzPfzjY23/84OOD/Ozvg/z09 + 4P9AQOH/Q0Ph/0RE4f+jo/D///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////19fb/xsfJ/5CR + lv93eX7/c3R6/3Bxdv9tbnP/amtw/2dobf9lZmv/Y2Rp/2FiZ/9gYWX/X2Bk/15fY/9dXmP/XV5i/11e + Yv9dXmL/XV5i/15fY/9fX2T/X2Bl/2FiZv9iY2j/ZGVq/2ZnbP9pam//a2xx/25vdf9xcnj/dHV7/3+B + hv+pqa3/4uLk//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5ub7/15e5v9BQeH/QEDh/z4+ + 4P87O+D/ODjg/zY23/80NN/ONjbf/zk54P87O+D/Pj7g/0FB4f9DQ+H/RUXi/6Oj8P////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6Ojp/6mqrv99foT/dHV6/3Bxd/9tbnP/aWpv/2ZnbP9jZGn/YWJn/19g + ZP9dXmL/XF1h/1pbX/9ZWl7/WVpd/1hZXf9YWFz/V1hc/1dYXP9YWVz/WFld/1laXv9aW1//W1xg/1xd + Yv9eX2P/YGFl/2JjaP9lZmr/aGlt/2tscf9vcHX/cnN5/3Z3ff+NjpP/y8vO//n5+f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////m5vv/X1/m/0JC4f9BQeH/Pj7h/zs74P85OeD/Njbf/zQ03843N9//OTng/zw8 + 4P8+PuH/QUHh/0RE4f9FReL/o6Px//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////f7+/9jY2v+Vlpr/d3h+/3Jz + ef9ub3T/amtw/2ZnbP9jZGn/YGFm/15fY/9cXWH/Wltf/1hZXf9XWFv/VVZa/1VVWf9UVVj/U1RY/1NU + V/9TU1f/U1RX/1NUV/9TVFj/VFVZ/1VWWv9WV1v/V1hc/1laXv9bXGD/XV5i/19gZP9iY2f/ZWZq/2hp + bv9sbXL/cHF3/3R1e/+AgYf/tbW5//Ly8/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9fX+b/QkLh/0FB + 4f8/P+H/PDzg/zk54P83N9//NTXfzjc33/86OuD/PDzg/z8/4f9CQuH/RETh/0ZG4v+kpPH///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////z8/P/Q0NL/iouR/3V2fP9xcnf/bG1y/2hpbv9kZWr/YWJm/15fY/9bXGD/WVpe/1dY + XP9VVlr/U1RY/1JTV/9RUlX/UFFU/09QVP9PUFP/T09T/09PU/9PT1P/T1BT/09QU/9QUVT/UVFV/1JS + Vv9TVFf/VFVZ/1ZXWv9YWVz/Wltf/1xdYv9fYGX/YmNo/2ZnbP9qa3D/bm91/3N0ef96e4H/qaqu/+7u + 7/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5ub7/2Bg5v9DQ+H/QkLh/z8/4f88POD/Ojrg/zc33/81Nd/OODjg/zo6 + 4P89PeD/Pz/h/0JC4f9EROL/Rkbi/6Sk8f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////9/f3/y8vO/4aHjP90dXv/cHF2/2ts + cf9mZ2z/YmNo/19gZP9cXWH/WVpe/1ZXW/9UVVn/U1NX/1FSVf9PUFT/Tk9S/01OUf9MTVD/TE1Q/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0xNUP9NTlH/Tk5S/09PU/9QUVT/UlJW/1NUWP9VVlr/WFld/1pb + X/9dXmL/YWJm/2Rlav9pam7/bW50/3Jzef94eX//o6So/+3t7v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5vv/YGDm/0ND + 4f9CQuH/QEDh/z094P86OuD/ODjf/zU13844OOD/Ozvg/z094P9AQOH/QkLh/0VF4v9HR+L/pKTx//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/9DR0/+Gh43/dHV6/29wdv9qa3D/ZWZr/2FiZ/9dXmP/Wltf/1dYXP9VVln/UlNX/1BR + Vf9PT1P/TU5R/0xNUP9LS0//SktO/0lKTf9ISUz/SElM/0hJTP9ISEv/SEhL/0hJTP9ISUz/SUpM/0lK + Tf9KS07/S0xP/0xNUP9OT1L/T1BU/1FSVv9UVFj/Vldb/1laXv9cXWH/X2Bl/2Nkaf9oaW7/bW5z/3Jz + eP94eX//p6es//Hx8f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9gYOb/Q0Ph/0JC4f9AQOH/PT3g/zo64P84ON//Njbfzjg4 + 4P87O+D/Pj7g/0BA4f9DQ+H/RUXi/0dH4v+kpPH///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Z2tz/i4yR/3R1e/9vcHX/amtw/2Vm + a/9hYmb/XV5i/1laXv9WV1v/U1RY/1FSVf9PUFP/TU5R/0tMT/9KS07/SUlM/0hIS/9HSEr/RkdK/0ZG + Sf9FRkn/RUZI/0VGSP9FRkj/RUZJ/0VGSf9GR0n/R0dK/0dIS/9ISUz/SUpN/0tLTv9MTVD/Tk9S/1BR + VP9SU1b/VVZZ/1hYXP9bXGD/X19k/2NkaP9naG3/bG1z/3JzeP95eoD/r7C0//b29v////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5ub7/2Fh + 5v9EROH/Q0Ph/0BA4f89PeD/Ozvg/zg44P82Nt/OOTng/zs74P8+PuD/QEDh/0ND4f9GRuL/R0fi/6Sk + 8f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////6urr/5eYnf91dnz/cHF2/2prcP9lZmv/YGFm/1xdYf9ZWV3/VVZa/1JTV/9QUVT/Tk5S/0xM + UP9KS07/SElM/0dIS/9GR0n/RUZI/0RFSP9ERUf/Q0RH/0NERv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NE + R/9ERUf/RUVI/0VGSf9GR0r/SEhL/0lKTf9LS07/TE1Q/09PU/9RUlX/VFVY/1dYXP9aW1//Xl9j/2Nk + aP9naG3/bW5z/3Jzef99foT/wsPG//39/f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////m5vv/YWHm/0RE4f9DQ+H/QEDh/z4+4P87O+D/ODjg/zY2 + 3845OeD/Ozvg/z4+4P9BQeH/Q0Ph/0ZG4v9HR+L/paXx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////b29/+srLD/d3l+/3Fyd/9rbHH/ZWZr/2Fi + Zv9cXWH/WFld/1VWWf9SU1b/T1BT/01NUf9LS07/SUpN/0dIS/9GR0n/RUVI/0RER/9DREb/QkNF/0JC + Rf9BQkT/QUJE/0FBRP9BQUT/QUFE/0FCRP9BQkT/QUJF/0JDRf9DQ0b/Q0RH/0RFSP9FRkn/R0dK/0hJ + TP9KSk3/TExP/05PUv9QUVX/U1RY/1dXW/9aW1//Xl9k/2Nkaf9oaW7/bm90/3N0ev+HiI7/2dnb//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9hYeb/RETh/0ND4f9BQeH/Pj7h/zs74P85OeD/Nzffzjk54P87O+D/Pj7h/0FB4f9EROH/Rkbi/0hI + 4v+lpfH///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////y8vO/35/hf9yc3n/bG1y/2dobP9hYmf/XV5i/1lZXf9VVln/UlJW/09QU/9MTVD/SktO/0hJ + TP9GR0r/RUZI/0RER/9DQ0b/QkJF/0FCRP9AQUP/QEFD/0BAQ/8/QEL/P0BC/z9AQv8/QEL/P0BC/z9A + Qv9AQEP/QEFD/0FBRP9BQkX/QkNF/0NERv9ERUj/RkZJ/0dIS/9JSk3/S0xP/01OUf9QUVT/U1RY/1dY + W/9bXGD/X2Bk/2Rlaf9pam//b3B2/3V2fP+cnaL/8PHx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5ub7/2Ji5v9FReL/Q0Ph/0FB4f8+PuH/PDzg/zk5 + 4P82Nt/OOTng/zw84P8/P+H/QUHh/0RE4f9HR+L/SEji/6Wl8f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+rq7P+TlJn/dHV7/25vdf9oaW7/Y2Ro/15f + Y/9ZWl7/VVZa/1JTVv9PUFP/TE1Q/0pLTf9ISEv/RkdJ/0RFSP9DREb/QkNF/0FCRP9AQUP/P0BC/z8/ + Qv8+P0H/Pj9B/z4+Qf8+PkH/Pj5A/z4+QP8+PkH/Pj9B/z4/Qf8/P0L/P0BC/0BAQ/9AQUP/QUJE/0JD + Rv9EREf/RUZI/0dHSv9JSUz/S0xP/01OUf9QUVX/VFRY/1dYXP9bXGD/YGFm/2Vma/9rbHH/cXJ4/3t8 + gv/AwcT//f7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///m5vv/YWHm/0VF4v9DQ+H/QUHh/z4+4P88POD/OTng/zc33845OeD/PDzg/z8/4f9BQeH/RETh/0dH + 4v9ISOL/paXx//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///9/f3/uLm8/3h5f/9xcnf/amtw/2Rlav9fYGT/W1tf/1ZXW/9TU1f/T1BT/0xNUP9KS03/SEhL/0ZG + Sf9ERUf/QkNG/0FCRP9AQUP/P0BC/z4/Qf8+P0H/PT5A/z0+QP89PUD/PT0//zw9P/88PT//PD0//z09 + P/89PUD/PT5A/z0+QP8+PkH/Pj9B/z9AQv9AQEP/QUFE/0JDRf9DREb/RUVI/0dHSv9JSUz/S0xP/05O + Uv9RUlX/VFVZ/1hZXf9dXmL/YmNn/2dobf9tb3T/c3R6/42Ok//m5uf///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9iYub/RUXi/0RE4f9BQeH/Pj7h/zw8 + 4P85OeD/Nzffzjk54P88POD/Pj7h/0FB4f9EROH/R0fi/0hI4v+lpfH///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bn6P+MjZP/c3R6/21uc/9naG3/YWJm/1xd + Yf9YWFz/U1RY/1BRVP9NTlH/SktO/0hIS/9GRkn/REVH/0JDRv9BQkT/QEFD/z9AQv8+P0H/PT5A/z0+ + QP88PT//PD0//zw9P/88PD7/PDw+/zs8Pv87PD7/PDw+/zw8Pv88PT//PD0//z09QP89PkD/Pj5B/z4/ + Qf8/QEL/QEFD/0JCRf9DREb/RUVI/0ZHSv9JSkz/S0xP/05PUv9SUlb/VVZa/1pbX/9eX2T/ZGVp/2pr + cP9wcXf/eHl//7m5vf/9/f3///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5ub7/2Ji5v9FReL/RETh/0FB4f8+PuH/PDzg/zk54P83N9/OOTng/zw84P8+PuH/QUHh/0ND + 4f9GRuL/SEji/6Wl8f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///9/f3/u7u//3h5f/9wcXf/amtw/2Rlaf9eX2P/WVpe/1VWWf9RUlX/Tk5S/0tMT/9ISUz/RkdJ/0RF + R/9CQ0b/QUJE/0BAQ/8/P0L/Pj5B/z0+QP88PT//PD0//zw8Pv87PD7/Ozw+/zs8Pv87Oz3/Ozs+/zs7 + Pf87PD7/Ozw+/zs8Pv87PD7/PDw//zw9P/89PUD/PT5A/z4/Qf8/QEL/QEFD/0FCRf9DREb/RUZI/0dI + S/9JSk3/TE1Q/09QU/9TVFf/V1hc/1xdYf9hYmb/Z2ds/21uc/9zdHr/jo+U/+jo6f////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////m5vv/YmLm/0VF4v9EROH/QUHh/z4+ + 4f88POD/OTng/zc33845OeD/PDzg/z4+4f9BQeH/RETh/0ZG4v9ISOL/paXx//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+7u7/+Sk5j/c3R6/21uc/9naGz/YWJm/1tc + YP9XWFv/U1NX/09QU/9MTVD/SUpN/0ZHSv9ERUj/QkNG/0FCRP9AQEP/Pj9B/z4+QP89PkD/PD0//zw8 + Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zw9 + P/88PT//PT5A/z4/Qf8/QEL/QEFD/0JCRf9DREf/RUZJ/0hJS/9KS07/TU5R/1FSVf9VVVn/WVpe/15f + Y/9kZWn/amtw/3Fyd/95eoD/wsPG//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+bm+/9iYub/RUXi/0RE4f9BQeH/Pz/h/zw84P85OeD/Nzffzjk54P88POD/Pj7h/0FB + 4f9EROH/R0fi/0hI4v+lpfH///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////0NDS/31+hP9xcnj/amtw/2Rlav9eX2P/WVpe/1VVWf9RUVX/TU5R/0pLTv9HSEv/RUZI/0NE + Rv9BQkT/QEBD/z8/Qv8+PkD/PT0//zw9P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6 + PP86Ojz/Ojo8/zo7PP86Oz3/Ojs9/zs7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/Qf8/QEL/QUFE/0JD + Rf9ERUf/RkdK/0lJTP9MTE//T1BT/1NTV/9XWFv/XFxh/2FiZv9naG3/bm90/3R1e/+dnqP/9fX2//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5ub7/2Fh5v9FReL/RETh/0FB + 4f8+PuH/PDzg/zk54P83N9/OOTng/zw84P8+PuH/QUHh/0RE4f9GRuL/SEji/6Wl8f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////v7+/+rrLD/dXZ8/29wdf9oaW7/YmNn/1xd + Yf9XWFz/U1RX/09QU/9LTE//SUlM/0ZHSf9EREf/QkNF/0BBQ/8/QEL/Pj5B/z09QP88PT//Ozw+/zs8 + Pv87Oz3/Ojs9/zo7PP86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ozz/Ojs9/zo7 + Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/Qf9AQEP/QUJE/0NERv9FRkj/R0hL/0pLTv9NTlH/UVJV/1VW + Wf9aW1//X2Bk/2Vmav9rbHH/cnN4/4OEiv/d3d////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////m5vv/YWHm/0VF4v9EROH/QUHh/z8/4f88POD/OTng/zc33845OeD/PDzg/z4+ + 4f9BQeH/RETh/0dH4v9ISOL/paXx//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7u7v/5CRlv9zdHn/bG1z/2Zma/9fYGX/Wltf/1VWWv9RUlX/TU5R/0pLTv9HSEv/RUZI/0ND + Rv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87PD7/Ojs9/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw8P/89PT//Pj5A/z8/ + Qv9AQUP/QkJF/0RER/9GR0n/SUlM/0xNUP9PUFP/U1RY/1hZXP9dXmL/YmNo/2lqb/9wcXb/eHl//8HB + xP////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+bm+/9hYeb/RUXi/0RE + 4f9BQeH/Pj7h/zw84P85OeD/Nzffzjk54P88POD/Pj7g/0FB4f9DQ+H/Rkbi/0hI4v+lpfH///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Z2dv/gIGH/3FyeP9qa3D/ZGVp/15f + Y/9YWV3/VFVY/1BRVP9MTVD/SUpN/0ZHSv9ERUf/QkNF/0BBQ/8/P0L/Pj5A/zw9P/88PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw9P/89PkD/Pj9B/z9AQv9BQkT/Q0NG/0VGSP9ISEv/SktO/05P + Uv9SUlb/Vldb/1tcYP9hYmb/Z2ht/25vdP90dXv/pqar//n5+v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5ub7/2Fh5v9EROH/Q0Ph/0BA4f8+PuD/Ozvg/zk54P83N9/OOTng/zs7 + 4P8+PuD/QEDh/0ND4f9FReL/SEji/6Wl8f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////8DBxP94eX//cHF2/2lqbv9iY2j/XF1h/1dYXP9SU1f/T09T/0tMT/9ISUz/RUZJ/0NE + Rv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7Pf87PD7/PDw+/zw9 + P/8+PkD/Pz9C/0BBQ/9CQ0X/REVH/0dHSv9JSk3/TU5R/1BRVf9VVln/Wlpe/19gZP9lZmv/bG1y/3N0 + ef+QkZb/7u7v//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5vv/YWHm/0RE + 4f9DQ+H/QEDh/z094P87O+D/ODjg/zY23844OOD/Ozvg/z4+4P9AQOH/Q0Ph/0VF4v9HR+L/pKTx//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////8/Pz/ra6y/3V2fP9ub3T/Z2ht/2Fi + Zv9bXGD/Vldb/1FSVv9OTlL/SktO/0dIS/9FRUj/QkNG/0FBRP8/QEL/Pj5B/z09P/88PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8+P0H/QEBD/0FCRf9DREf/RkZJ/0lJ + TP9MTVD/T1BU/1RUWP9YWV3/Xl9j/2Rlaf9rbHH/cXJ4/4SFiv/g4OL///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+bm+/9hYeb/RETh/0ND4f9AQOH/PT3g/zs74P84OOD/Njbfzjg4 + 4P87O+D/PT3g/0BA4f9DQ+H/RUXi/0dH4v+kpPH///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////f39/+en6P/c3R6/21uc/9mZ2z/YGFl/1pbX/9VVlr/UVFV/01NUf9JSk3/RkdK/0RF + R/9CQ0X/QEFD/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8 + Pv88PD//PT0//z4/Qf8/QEL/QUJE/0NERv9FRkn/SElL/0tMT/9PT1P/U1RX/1dYXP9dXmL/Y2Ro/2lq + b/9wcXf/fX6E/9LS1f////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5ub7/2Bg + 5v9DQ+H/QkLh/0BA4f89PeD/Ojrg/zg43/81Nd/OODjg/zo64P89PeD/Pz/h/0JC4f9FReL/Rkbi/6Sk + 8f////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8PDx/5KTmP9ydHn/bG1y/2Vm + a/9fYGT/WVpe/1RVWf9QUVT/TE1Q/0lKTP9GR0n/RERH/0JCRf9AQEP/Pj9B/z0+QP88PT//Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6 + O/85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs+/zs8Pv88PT//PT5A/z8/Qv9AQUT/QkNG/0VF + SP9HSEv/SktO/05PUv9SU1b/V1hb/1xdYf9iY2f/aGlu/3Bxdv94eX//xMTH//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////m5vv/YGDm/0ND4f9CQuH/Pz/h/z094P86OuD/Nzff/zU1 + 3843N9//Ojrg/zw84P8/P+H/QkLh/0RE4f9GRuL/pKTx//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////s7O3/i4yS/3Jzef9rbHH/ZGVq/15fY/9ZWl3/VFVY/1BQVP9MTFD/SElM/0VG + Sf9DREf/QUJE/z9AQv8+P0H/PT1A/zw8Pv87PD7/Ojs9/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo7/zk6O/85OTv/OTk7/zk6O/85Ojv/OTk7/zk6O/85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7 + Pf87Oz3/Ozw+/zw9P/89PkD/Pz9C/0BBQ/9CQ0X/REVI/0dIS/9KS07/Tk5S/1JSVv9WV1v/W1xg/2Fi + Z/9oaW3/b3B1/3Z3ff+8vMD///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + +/9gYOb/Q0Ph/0JC4f8/P+H/PDzg/zo64P83N9//NTXfzjc33/85OeD/PDzg/z4+4f9BQeH/RETh/0VF + 4v+jo/H///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+fo6f+Jio//cnN4/2ts + cf9kZWr/Xl9j/1hZXf9TVFj/T1BT/0tMT/9ISUz/RUZJ/0NERv9BQkT/P0BC/z4+Qf89PT//PDw+/zs8 + Pv86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85OTv/OTo7/zk6 + O/85OTv/OTo7/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8/P0H/QEFD/0JD + Rf9ERUj/R0dK/0pKTf9NTlH/UVJV/1ZXWv9bXGD/YWJm/2dobf9vcHX/dnd9/7e3u//+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5ub7/19f5v9DQ+H/QUHh/z4+4f88POD/OTng/zc3 + 3/81Nd/ONjbf/zk54P87O+D/Pj7g/0BA4f9DQ+H/RUXi/6Oj8P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OTm/4eIjf9yc3j/a2xx/2Rlaf9eX2P/WFld/1NUWP9PUFP/S0xP/0hJ + TP9FRkn/Q0RG/0FCRP8/QEL/Pj5B/zw9P/88PD7/Ozw+/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/Qf9AQUP/QkNF/0RFR/9HR0r/SkpN/01OUf9RUlX/VlZa/1tc + YP9hYmb/Z2ht/25vdf91dnz/s7O3//39/f////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///m5vv/X1/m/0JC4f9BQeH/Pj7h/zw84P85OeD/Njbf/zQ03842Nt//ODjg/zs74P8+PuD/QEDh/0ND + 4f9FReL/o6Pw//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////m5uj/iImO/3Jz + eP9rbHH/ZGVp/15fY/9YWV3/U1RY/09QU/9LTE//SElM/0VGSf9DREb/QUJE/z9AQv8+PkH/PT0//zw8 + Pv87PD7/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/Ojo8/zo7Pf87Oz3/Ozw+/zw9P/89PkD/Pj9B/0BB + Q/9CQ0X/REVH/0dHSv9KSk3/TU5R/1FSVf9WV1r/W1xg/2FiZv9naG3/bm91/3V3fP+1trn//v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+bm+/9eXub/QUHh/0FB4f89PeD/Ozvg/zk5 + 4P82Nt//NDTfzjY23/84ON//Ojrg/z094P8/P+H/QkLh/0RE4f+jo/D///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+vr7P+LjJH/cnN5/2tscf9kZWr/Xl9j/1hZXf9UVFj/T1BT/0xM + T/9ISUz/RUZJ/0NERv9BQkT/P0BC/z4/Qf89PT//PDw+/zs8Pv86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zs7Pf87PD7/PD0//z0+QP8/P0H/QEFD/0JDRf9ERUj/R0hK/0pLTv9NTlH/UVJW/1ZX + W/9bXGD/YWJm/2hobf9vcHX/dnd9/7u7vv////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/15e5f9BQeH/QEDh/z094P86OuD/ODjg/zU13/8zM9/ONTXf/zc33/86OuD/PDzg/z8/ + 4f9BQeH/Q0Ph/6Ki8P////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////7+/w/4+Q + lv9yc3n/bG1y/2Vmav9fX2T/WVpe/1RVWf9QUVT/TE1Q/0lJTP9GR0n/Q0RH/0FCRf9AQEP/Pj9B/z09 + QP88PD//Ozw+/zo7Pf86Oz3/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z8/ + Qv9AQUT/QkNF/0VFSP9HSEv/SktO/05PUv9SU1b/V1db/1xdYf9iY2f/aGlu/29wdv94eX//wcLF//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////l5fv/XV3l/0BA4f8/P+H/PDzg/zo6 + 4P83N9//NTXf/zMz3841Nd//Nzff/zk54P88POD/Pj7h/0FB4f9CQuH/oqLw//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////19fb/m5ug/3N0ev9tbnP/Zmdr/19gZf9aW1//VVZZ/1BR + Vf9NTVH/SUpN/0ZHSv9ERUf/QkJF/0BBQ/8+P0H/PT5A/zw9P/87PD7/Ozs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6 + PP86Ojz/Ojs9/zo7Pf87PD7/PDw+/z09P/8+PkH/P0BC/0FBRP9DQ0b/RUZI/0hIS/9LTE//Tk9S/1JT + V/9XWFz/XF1i/2JjaP9pam//cHF3/3t8gv/Oz9H///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+Xl+/9cXOX/Pz/h/z4+4f88POD/OTng/zc33/80NN//MjLfzjQ03/82Nt//ODjg/zs7 + 4P8+PuD/QEDh/0FB4f+iovD///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v7 + +/+pqq7/dHV7/25vdP9naG3/YGFm/1tcYP9WVlr/UVJW/01OUf9KS07/R0hL/0RFSP9CQ0X/QEFD/z8/ + Qv89PkD/PD0//zw8Pv87PD7/Ojs9/zo7PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT5A/z4/ + Qf9AQEP/QUJE/0NER/9GRkn/SElM/0xMT/9PUFP/U1RY/1hZXf9dXmP/Y2Rp/2prcP9xcnj/goOI/93d + 3/////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/1xc5f8/P+H/Pj7g/zs7 + 4P84OOD/Njbf/zMz3/8xMd7OMzPf/zU13/84ON//Ojrg/z094P8/P+H/QUHh/6Gh8P////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7//7u7v/93eH7/b3B2/2hpbv9iY2f/XF1h/1dY + XP9SU1f/Tk9S/0tLTv9ISEv/RUZI/0NERv9BQkT/P0BC/z4/Qf89PkD/PD0//zs8Pv87Oz3/Ojs9/zo6 + PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf87Oz3/PDw+/zw9P/89PkD/Pz9C/0BBQ/9CQ0X/REVH/0ZHSv9JSk3/TE1Q/1BR + VP9UVVn/WVpe/19gZP9lZmv/bG1y/3Jzef+MjZL/6urr//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////l5fv/W1vl/z4+4P89PeD/Ojrg/zg43/81Nd//MzPf/zEx3s4yMt//NDTf/zc3 + 3/85OeD/PDzg/z4+4f9AQOH/oaHw//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////09PV/31/hP9xcnf/amtw/2Nkaf9dXmL/WFld/1NUWP9PUFT/TE1Q/0lJTP9GR0n/RERH/0JC + Rf9AQUP/Pz9C/z0+QP88PT//PDw+/zs8Pv86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ozs9/zs8Pv88PT//PT1A/z4/ + Qf8/QEL/QUFE/0NDRv9FRUj/R0hL/0pLTv9OTlL/UVJW/1ZXWv9bXGD/YGFm/2ZnbP9tbnT/dHV6/5+g + pf/39/f///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+Xl+/9bW+X/PT3g/zw8 + 4P86OuD/Nzff/zU13/8yMt//MDDezjIy3/80NN//Njbf/zg44P87O+D/PT3g/z8/4f+goPD///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////p6er/i4yS/3Jzef9sbXL/ZWZr/19g + ZP9aW1//VVZZ/1FSVf9NTlH/SktO/0dIS/9FRUj/Q0NG/0FBRP8/QEL/Pj9B/z0+QP88PT//Ozw+/zs7 + Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/PDw+/zw9P/89PkD/Pz9C/0BBQ/9CQkX/Q0RH/0ZHSf9ISUz/S0xP/09Q + U/9TVFf/V1hc/1xdYf9iY2f/aGlu/29wdv93eH7/urq+//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/1pa5f88POD/Ozvg/zk54P82Nt//NDTf/zEx3v8wMN7OMDDe/zMz + 3/81Nd//ODjf/zo64P89PeD/Pj7g/6Cg8P////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////j4+P+jpKj/dHV7/25vdP9naG3/YWJm/1tcYf9XWFv/UlNX/05PU/9LTE//SElM/0ZG + Sf9EREf/QkJF/0BBQ/8/P0L/Pj5A/z09QP88PT//Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zw8Pv88PT//PT5A/z4/ + Qf8/QEL/QUJE/0NDRv9ERUj/R0hK/0pKTf9NTlH/UFFV/1RVWf9ZWl7/Xl9j/2Rlav9rbHH/cXJ4/3+A + hv/W1tj///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////l5fv/WVnl/zs7 + 4P86OuD/ODjf/zU13/8zM9//MDDe/y8v3s4wMN7/MjLf/zQ03/83N9//Ojrg/zw84P89PeD/n5/w//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////8bHyv96e4H/cHF3/2pr + cP9jZGn/Xl9j/1lZXf9UVVn/UFFU/01NUf9KSk3/R0hL/0VFSP9DQ0b/QUJE/0BAQ/8+P0H/PT5A/zw9 + P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/P0BC/0BBQ/9CQ0X/RERH/0ZHSf9ISUz/S0xP/05P + Uv9SU1f/Vldb/1tcYP9gYWb/Zmds/21uc/9zdHr/lZab//Dw8f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+Tk+/9YWOX/Ojrg/zk54P83N9//NDTf/zIy3/8wMN7/Li7ezi8v + 3v8xMd7/MzPf/zY23/85OeD/Ozvg/zw84P+fn/D///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6Ojp/4uMkv9zdHn/bG1z/2ZnbP9gYWX/W1xg/1ZXW/9SU1b/Tk9S/0tM + T/9ISUz/RkdK/0RFR/9CQ0X/QUFE/z9AQv8+P0H/PT5A/z09P/88PT//Ozw+/zs8Pv87Oz3/Ozs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/89PkD/Pj5B/z8/ + Qv9AQUP/QUJF/0NERv9FRkj/R0hL/0pLTv9NTlH/UFFU/1RVWf9ZWV3/XV5j/2NkaP9pam//cHF2/3d4 + fv+5ub3//v7+//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1dX + 5P85OeD/ODjg/zY23/8zM9//MTHe/y8v3v8tLd7OLi7e/zAw3v8yMt//NTXf/zg43/86OuD/Ozvg/56e + 8P////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////7+/v/r7C0/3Z3 + ff9vcHb/aWpv/2NkaP9dXmP/WVpd/1RVWf9RUVX/TU5R/0pLTv9ISEv/RkZJ/0RER/9CQ0X/QUFE/z9A + Qv8+P0H/PT5A/z09QP88PT//PDw//zs8Pv87PD7/Ozw+/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozw+/zs8 + Pv87PD7/PDw+/zw9P/88PT//PT5A/z4+Qf8/P0L/QEFD/0FCRP9DQ0b/REVI/0dHSv9JSk3/TExP/09Q + U/9SU1f/Vldb/1tcYP9gYWX/Zmdr/2xtcv9yc3n/hoeN/+Dg4f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////k5Pv/Vlbk/zg44P83N9//NTXf/zIy3/8wMN7/Li7e/yws + 3s4uLt7/Ly/e/zEx3v80NN//Nzff/zk54P86OuD/np7w//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////d3d//hYaM/3Jzef9sbXL/Zmds/2BhZv9bXGD/V1hc/1NU + V/9PUFT/TE1Q/0pKTf9HSEv/RUZJ/0NER/9CQ0X/QUFE/0BAQ/8/P0H/Pj5B/z0+QP89PT//PD0//zw9 + P/88PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw//zw9P/88PT//PT5A/z0+QP8+P0H/P0BC/0BB + Q/9BQkT/Q0NG/0RFSP9GR0r/SElM/0tMT/9OT1L/UVJV/1VWWf9ZWl7/Xl9j/2NkaP9pam//cHF2/3Z3 + ff+srbH/+vr6//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+Tk + +/9VVeT/Nzff/zY23/80NN//MjLf/y8v3v8tLd7/Kyvdzi0t3v8uLt7/MTHe/zMz3/81Nd//ODjf/zk5 + 4P+dnfD///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////n5 + +v+rrLD/dnd9/3Bxdv9pam//ZGVp/15fZP9aW1//VlZa/1JTVv9PT1P/TE1Q/0lKTf9HSEv/RUZJ/0NE + R/9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+Qf89PkD/PT5A/zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/89PUD/PT5A/z0+QP8+P0H/Pz9C/z9AQv9AQUP/QUJF/0NDRv9ERUj/RkdJ/0hJTP9KS07/TU5R/1BR + VP9UVFj/V1hc/1xdYf9hYmb/Zmds/21uc/9zdHn/hYaM/9zc3v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/1RU5P82Nt//NTXf/zMz3/8xMd7/Li7e/yws + 3v8qKt3OKyve/y0t3v8wMN7/MjLf/zQ03/82Nt//Nzff/52d7/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Dg4f+JipD/c3R6/21uc/9naG3/YmNn/11e + Yv9YWV3/VVZZ/1FSVv9OT1L/S0xP/0lKTf9HSEv/RUZJ/0RER/9CQ0b/QUJF/0BBQ/9AQEP/P0BC/z4/ + Qf8+P0H/Pj5B/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5A/z4+Qf8+P0H/Pz9C/z9AQv9AQUP/QUJE/0JD + Rf9DREb/RUVI/0ZHSv9ISUz/SktO/01OUf9QUVT/U1RX/1dXW/9bW2D/X2Bk/2Rlav9qa3D/cHF3/3d4 + fv+xsrb/+vr6//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///k5Pv/U1Pk/zU13/80NN//MjLf/zAw3v8tLd7/Kyvd/ykp3c4qKt3/LCze/y4u3v8xMd7/MzPf/zU1 + 3/82Nt//nJzv//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f39/7y8wP96e4H/cXJ4/2tscf9lZmv/YGFm/1xdYf9YWV3/VFVZ/1FSVf9OT1L/TExQ/0lK + Tf9HSEv/RkdJ/0RFSP9DREb/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/P0BC/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/P0BC/0BAQ/9AQUP/QUJE/0JCRf9DQ0b/RERH/0VGSf9HR0r/SElM/0pLTv9NTlH/T1BU/1JT + V/9WV1r/Wltf/15fY/9jZGj/aGlu/25vdf90dXr/kJGW/+fo6f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tk+/9TU+T/NDTf/zMz3/8xMd7/Ly/e/yws + 3v8qKt3/KCjdzikp3f8rK97/LS3e/zAw3v8yMt//NDTf/zU13/+bm+////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////7+/w/5ydov91dnz/cHF2/2pr + cP9kZWr/YGFl/1tcYP9XWFz/VFVZ/1FSVf9OT1L/TE1Q/0pLTv9ISUz/R0dK/0VGSf9ERUj/Q0RG/0JD + Rf9CQkX/QUJE/0FCRP9AQUT/QEFD/0BBQ/9AQUP/QEFD/0FBRP9BQkT/QUJF/0JDRf9DQ0b/RERH/0VF + SP9GR0n/R0hL/0lKTf9LTE//TU5R/1BRVP9TU1f/Vlda/1laXv9dXmP/YmNn/2dobf9tbnP/cnN5/3+A + hv/Kys3//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1JS5P8zM9//MjLf/zAw3v8uLt7/Kyve/ykp3f8nJ93OKCjd/yoq3f8sLN7/Ly/e/zEx + 3v8zM9//NDTf/5yc7/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////3t7f/4yNkf90dXv/bnB1/2lqb/9kZWn/X2Bl/1tcYP9YWFz/VFVZ/1JS + Vv9PUFP/TU5R/0tMT/9JSk3/SEhL/0ZHSv9FRkn/REVI/0RER/9DREf/Q0RG/0JDRv9CQ0X/QkNF/0JD + Rf9CQ0X/QkNG/0NERv9DREf/REVI/0VGSP9GR0n/R0hL/0hJTP9KS07/TE1Q/05PUv9QUVT/U1RX/1ZX + W/9ZWl7/XV5i/2JjZ/9mZ2z/bG1y/3FyeP95eoD/srO2//j5+P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////k5Pv/UVHj/zIy3/8xMd7/Ly/e/y0t + 3v8rK93/KCjd/yYm3c4nJ93/KSnd/ysr3v8uLt7/MDDe/zIy3/8zM9//jY3t/+Xl+//k5Pv/5OT7/+Xl + +//l5fv/5eX7/+bm+//m5vv/5ub7/+fn+//n5/v/5+f7/+fn+//o6Pv/6Oj7/+jo+//p6fv/6en8/+np + /P/q6vz/6ur8/+rq/P/r6/z/6+v8/+vr/P/r6/z/7Oz8/+zs/P/s7Pz/7e38/+3t/P/s7Pv/ubnK/31+ + h/9zdXr/bm90/2lqbv9kZWn/X2Bl/1xdYf9YWV3/VVZa/1JTV/9QUVT/Tk9S/0xNUP9LS07/SUpN/0hJ + TP9HSEv/RkdK/0ZGSf9FRkn/RUVI/0RFSP9ERUj/REVI/0VFSP9FRkj/RUZJ/0ZHSf9HR0r/SEhL/0hJ + TP9KS07/S0xP/01OUf9PUFP/UVJV/1RVWP9XV1v/Wltf/11eY/9iY2f/Zmds/2tscf9xcnf/dnd9/5KT + of/c3Oz/7u79/+3t/P/s7Pz/7Oz8/+zs/P/r6/z/6+v8/+vr/P/r6/z/6ur8/+rq/P/q6vz/6en8/+np + /P/p6fv/6Oj7/+jo+//o6Pv/5+f7/+fn+//n5/v/5+f7/+bm+//m5vv/5ub7/+Xl+//l5fv/5eX7/+Tk + +//k5Pv/5eX7/8zM9/9MTOP/MDDe/zAw3v8tLd7/Kyve/ykp3f8nJ93/JSXdziYm3f8oKN3/Kird/y0t + 3v8vL97/MTHe/zMz3/9DQ+H/UlLk/1RU5P9WVuT/WFjl/1pa5f9cXOX/Xl7m/2Bg5v9iYub/ZGTn/2Zm + 5/9oaOf/amrn/2xs6P9ubuj/cHDo/3Jy6f90dOn/dnbp/3h46v95eer/e3vq/3196v9/f+v/gYHr/4OD + 6/+Fhez/hobs/4iI7P+Kiuz/i4vt/42N7f+Li+n/f4C3/3l6hP9zdHn/bm90/2lqb/9kZWr/YGFl/11d + Yv9ZWl7/Vldb/1RVWP9RUlb/T1BU/05PUv9MTVD/S0xP/0pLTv9JSk3/SElM/0hIS/9HSEv/R0hL/0dI + Sv9HSEv/R0hL/0hIS/9ISUz/SUlM/0lKTf9KS07/TExP/01OUf9PT1P/UVFV/1NTV/9VVln/WFlc/1tc + YP9eX2P/YmNo/2ZnbP9rbHH/cHJ3/3Z4fP98fZf/hITX/42N7v+Li+3/iors/4iI7P+Ghuz/hITs/4OD + 6/+Bgev/f3/r/3196v97e+r/enrq/3h46v92dun/dHTp/3Jy6f9wcOj/bm7o/2xs6P9qauf/aGjn/2Zm + 5/9kZOf/YmLm/2Bg5v9eXub/XFzl/1pa5f9YWOX/Vlbk/1VV5P9TU+T/TU3j/zc33/8xMd7/Ly/e/yws + 3v8qKt3/KCjd/yYm3f8kJNzOJSXd/ycn3f8pKd3/Kyve/y4u3v8wMN7/MjLf/zMz3/80NN//Nzff/zk5 + 4P87O+D/PT3g/0BA4f9CQuH/RETh/0dH4v9JSeL/S0vj/05O4/9QUOP/UlLk/1RU5P9WVuT/WVnl/1tb + 5f9dXeX/X1/m/2Fh5v9kZOb/Zmbn/2ho5/9qauf/bGzo/25u6P9wcOj/cnLp/3R06f92dun/eHjq/3p6 + 6/98fOX/fX6y/3l6g/9zdXr/bm91/2lqb/9lZmv/YWJn/15fY/9bXGD/WFld/1VWWv9TVFj/UVJW/1BR + VP9OT1L/TU5R/0xNUP9LTE//S0xP/0pLTv9KS07/SktO/0pLTv9KS07/S0tO/0tMT/9MTVD/TU5R/05P + Uv9PUFP/UVFV/1JTV/9UVVn/V1hb/1laXv9cXWH/X2Bl/2Nkaf9naG3/bG1y/3Fyd/92eHz/fH2U/3x9 + 0f96euv/eHjq/3Z26f90dOn/cnLp/3Bw6P9ubuj/bGzo/2pq5/9oaOf/Zmbn/2Rk5v9iYub/X1/m/11d + 5f9bW+X/WVnl/1dX5P9VVeT/UlLk/1BQ4/9OTuP/S0vj/0lJ4v9HR+L/RUXi/0JC4f9AQOH/Pj7g/zw8 + 4P85OeD/Nzff/zQ03/8yMt//MTHe/zAw3v8uLt7/Kyve/ykp3f8nJ93/JSXc/yMj3M4kJNz/Jibd/ygo + 3f8qKt3/LCze/y8v3v8xMd7/MzPf/zU13/83N9//OTng/zs74P89PeD/QEDh/0JC4f9EROH/R0fi/0lJ + 4v9LS+P/TU3j/1BQ4/9RUeT/VFTk/1ZW5P9YWOX/Wlrl/11d5f9eXub/YWHm/2Nj5v9lZef/Z2fn/2lp + 5/9ra+j/bW3o/29v6P9xcen/c3Pp/3V16f92dun/eHjq/3p66/98fOT/fX21/3p7hf90dXr/b3B2/2ts + cf9mZ2z/Y2Ro/19gZf9dXWL/Wltf/1hZXP9WVlr/VFVY/1JTV/9RUlX/UFFU/09QU/9PT1P/Tk9S/05P + Uv9OTlL/Tk5S/05PUv9OT1L/T1BT/1BQVP9RUVX/UlJW/1NUV/9VVVn/Vldb/1laXv9bXGD/Xl9j/2Fi + Z/9lZmr/aWpu/21uc/9yc3j/d3h9/3t8mP98fNL/enrq/3h46v93d+n/dHTp/3Nz6f9xcen/b2/o/21t + 6P9ra+j/aWnn/2dn5/9lZef/Y2Pm/2Fh5v9fX+b/XV3l/1tb5f9YWOX/Vlbk/1RU5P9SUuT/T0/j/05O + 4/9LS+P/SUni/0dH4v9FReL/QkLh/0BA4f8+PuD/PDzg/zo64P83N9//NTXf/zMz3/8wMN7/Li7e/yws + 3v8qKt3/KCjd/yYm3f8kJNz/IiLcziMj3P8lJdz/Jyfd/ykp3f8rK97/LS3e/y8v3v8xMd7/NDTf/zU1 + 3/84ON//Ojrg/zw84P8+PuH/QUHh/0ND4f9FReL/SEji/0lJ4v9MTOP/Tk7j/1BQ4/9SUuT/VFTk/1ZW + 5P9ZWeX/W1vl/11d5f9fX+b/YWHm/2Nj5v9lZef/Z2fn/2lp5/9ra+j/bW3o/29v6P9wcOj/cnLp/3R0 + 6f92dun/d3fq/3l56v97e+b/fH28/3p7iv92d3z/cXJ3/2xtc/9pam7/ZWZr/2JjZ/9fYGT/XV1i/1pb + X/9YWV3/V1hc/1VWWv9UVVn/U1RY/1NUV/9SU1b/UlNW/1JSVv9SUlb/UlNW/1JTV/9TVFf/VFVY/1VW + Wf9WV1v/WFhc/1laXv9bXGD/Xl9j/2BhZv9jZGn/Z2hs/2prcP9vcHX/c3R5/3h5gP98fZ//e3vW/3l5 + 6/93d+r/dnbp/3R06f9ycun/cHDo/25u6P9tbej/a2vo/2lp5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/11d + 5f9bW+X/WVnl/1dX5P9VVeT/UlLk/1BQ4/9OTuP/TEzj/0lJ4v9HR+L/RUXi/0ND4f9BQeH/Pj7h/zw8 + 4P86OuD/ODjg/zY23/80NN//MTHe/y8v3v8tLd7/Kyvd/ykp3f8nJ93/JSXd/yMj3P8hIdzOIiLc/yQk + 3P8mJt3/KCjd/yoq3f8sLN7/Li7e/zAw3v8yMt//NDTf/zY23/85OeD/Ojrg/z094P8/P+H/QUHh/0ND + 4f9GRuL/SEji/0pK4v9MTOP/Tk7j/1BQ4/9SUuT/VFTk/1dX5P9ZWeX/W1vl/11d5f9fX+b/YWHm/2Nj + 5v9lZef/Zmbn/2ho5/9ra+j/bGzo/25u6P9wcOj/cnLp/3Nz6f91den/dnbp/3h46v95eej/e3zK/3t8 + l/94eX7/c3R5/29wdf9rbHH/aGlt/2Vmav9iY2j/YGFl/15fY/9cXWH/Wltf/1laXv9YWV3/V1hc/1dY + W/9WV1v/Vldb/1ZXW/9XV1v/V1hc/1hZXP9ZWV3/Wltf/1tcYP9dXmL/X19k/2FiZv9jZGn/Zmds/2lq + b/9tbnP/cXJ3/3V2e/96e4b/e3yv/3p63v94eOr/dnbp/3V16f9zc+n/cnLp/3Bw6P9ubuj/bGzo/2pq + 5/9oaOf/Z2fn/2Vl5/9jY+b/YWHm/19f5v9dXeX/W1vl/1lZ5f9XV+T/VVXk/1JS5P9QUOP/Tk7j/0xM + 4/9KSuL/SEji/0ZG4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zg44P83N9//NDTf/zIy3/8wMN7/Li7e/yws + 3v8pKd3/KCjd/yYm3f8kJNz/ISHc/yAg3M4hIdz/IiLc/yQk3P8mJt3/KCjd/yoq3f8sLN7/Ly/e/zEx + 3v8zM9//NTXf/zc33/85OeD/Ozvg/z094P8/P+H/QkLh/0RE4f9GRuL/SEji/0pK4v9MTOP/Tk7j/1FR + 4/9SUuT/VFTk/1dX5P9ZWeX/W1vl/1xc5f9fX+b/YWHm/2Ji5v9kZOf/Zmbn/2ho5/9qauf/bGzo/21t + 6P9vb+j/cHDo/3Jy6f9zc+n/dXXp/3Z26v94eOr/enrZ/3t8q/96e4f/dnd8/3JzeP9ub3T/a2xx/2hp + bv9mZ2v/Y2Rp/2JjZ/9gYWX/X2Bk/11eY/9dXmL/XF1h/1xdYf9cXGH/XFxh/1xdYf9cXWH/XV5i/15f + Y/9fYGX/YWJm/2JjaP9kZWr/Z2ht/2prcP9tbnP/cHF2/3R1ev94eX//e3yW/3p7w/94eOX/dnbq/3V1 + 6f9zc+n/cnLp/3Bw6P9vb+j/bW3o/2xs6P9qauf/aGjn/2Zm5/9kZOf/YmLm/2Fh5v9fX+b/XV3l/1tb + 5f9ZWeX/V1fk/1VV5P9TU+T/UVHj/09P4/9NTeP/S0vi/0hI4v9GRuL/RETh/0JC4f9AQOH/PT3g/zs7 + 4P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyvd/ygo3f8mJt3/JCTc/yIi3P8gINz/Hx/cziAg + 3P8hIdz/IyPc/yUl3f8nJ93/KSnd/ysr3f8tLd7/Ly/e/zEx3v80NN//Njbf/zg43/86OuD/PDzg/z4+ + 4P9AQOH/QkLh/0RE4f9GRuL/SEji/0pK4v9NTeP/T0/j/1BQ4/9SUuT/VVXk/1dX5P9YWOX/Wlrl/1xc + 5f9eXub/YGDm/2Ji5v9kZOb/Zmbn/2dn5/9paef/amro/2xs6P9ubuj/b2/o/3Fx6f9ycun/dHTp/3V1 + 6f92dur/eHjl/3p7yP97fJz/eXqD/3Z3e/9yc3j/b3B1/2xtc/9qa3D/aGlu/2ZnbP9lZmr/ZGRp/2Nk + aP9iY2j/YmNn/2FiZ/9hYmf/YmNn/2JjaP9jZGn/ZGVq/2Vma/9naG3/aWpv/2tscf9ub3T/cHJ3/3R1 + ev93eX7/enuN/3t7sf95edr/dnbq/3V16v90dOn/c3Pp/3Fx6f9vb+j/bm7o/2xs6P9ra+j/aWnn/2dn + 5/9mZuf/ZGTm/2Ji5v9gYOb/Xl7m/1xc5f9aWuX/WVnl/1dX5P9UVOT/UlLk/1FR4/9PT+P/TU3j/0tL + 4v9JSeL/Rkbi/0RE4f9CQuH/QEDh/z4+4P88POD/Ojrg/zg43/82Nt//NDTf/zIy3/8vL97/LS3e/ysr + 3v8pKd3/Jyfd/yUl3f8jI9z/ISHc/x8f3P8eHtvOHx/c/yAg3P8iItz/JCTc/yYm3f8oKN3/Kird/yws + 3v8uLt7/MDDe/zIy3/80NN//Njbf/zg44P86OuD/PDzg/z4+4f9AQOH/QkLh/0VF4v9HR+L/SUni/0tL + 4/9NTeP/T0/j/1FR4/9SUuT/VVXk/1ZW5P9YWOX/Wlrl/1xc5f9eXub/YGDm/2Fh5v9jY+b/ZWXn/2dn + 5/9oaOf/amrn/2tr6P9tbej/bm7o/3Bw6P9xcen/cnLp/3R06f91der/dnbq/3d43/96esH/e3yc/3l7 + hf93eH3/dHV6/3FyeP9vcHX/bW5z/2xtcv9qa3D/aWpv/2lqb/9oaW7/aGlu/2hpbv9oaW7/aWpv/2pr + cP9rbHH/bG1z/25vdP9wcXb/c3R5/3V2e/94eYD/enuO/3p7rv94edP/dnbn/3V16v9zc+n/c3Pp/3Fx + 6f9wcOj/bm7o/21t6P9ra+j/amrn/2ho5/9nZ+f/ZWXn/2Nj5v9hYeb/X1/m/15e5f9cXOX/Wlrl/1hY + 5f9WVuT/VFTk/1JS5P9QUOP/Tk7j/01N4/9LS+L/SUni/0dH4v9FReL/Q0Ph/0BA4f8+PuH/PDzg/zo6 + 4P84OOD/Njbf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo3f8mJt3/JCTc/yIi3P8gINz/Hh7b/xwc + 284dHdv/Hx/c/yEh3P8iItz/JCTc/ycn3f8pKd3/Kyvd/yws3v8vL97/MDDe/zIy3/81Nd//Njbf/zk5 + 4P87O+D/PT3g/z4+4f9AQOH/Q0Ph/0VF4v9HR+L/SUni/0tL4/9NTeP/T0/j/1FR4/9TU+T/VFTk/1ZW + 5P9YWOX/Wlrl/1xc5f9eXuX/X1/m/2Fh5v9jY+b/ZGTm/2Zm5/9nZ+f/aWnn/2pq5/9sbOj/bW3o/25u + 6P9wcOj/cXHp/3Jy6f9zc+n/dHTq/3V16v93d+D/eXnI/3p7qv96e5H/eXqD/3d4ff91dnv/c3R5/3Jz + eP9xcnf/cHF2/29xdv9vcHb/b3B2/3Bxdv9wcXf/cXJ4/3N0ef90dXr/dnd8/3h5gP96e4n/enuc/3l6 + uf93d9b/dXXn/3R06v9zc+n/cnLp/3Fx6f9wcOj/bm7o/21t6P9sbOj/amrn/2lp5/9nZ+f/ZWXn/2Rk + 5v9iYub/YWHm/19f5v9dXeX/XFzl/1pa5f9YWOX/Vlbk/1RU5P9SUuT/UFDj/09P4/9NTeP/S0vi/0hI + 4v9HR+L/RUXi/0ND4f9BQeH/Pj7h/z094P87O+D/OTng/zc33/81Nd//MzPf/zAw3v8uLt7/LCze/ysr + 3f8pKd3/Jibd/yQk3P8iItz/ICDc/x8f3P8dHdv/Gxvbyxwc2/8eHtv/ICDc/yEh3P8jI9z/JSXd/ycn + 3f8pKd3/Kyvd/y0t3v8vL97/MTHe/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF + 4v9HR+L/SUni/0pK4v9NTeP/Tk7j/1BQ4/9SUuT/VFTk/1ZW5P9YWOX/WVnl/1tb5f9dXeX/Xl7m/2Bg + 5v9iYub/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Fx6P9ycun/cnLp/3Nz + 6v90dOr/dXXn/3d32f94ecb/enqx/3p7nf96e5D/enuI/3l6g/94eYH/eHl//3h5fv94eX//eHmA/3l6 + gv95eoX/enuM/3p7lf96e6b/eXm7/3d40P92duH/dHTp/3Nz6v9ycun/cXHp/3Bw6P9vb+j/bm7o/21t + 6P9sbOj/amrn/2lp5/9nZ+f/Zmbn/2Vl5/9jY+b/YWHm/2Bg5v9eXub/XV3l/1tb5f9ZWeX/V1fl/1ZW + 5P9UVOT/UlLk/1BQ4/9PT+P/TU3j/0tL4v9JSeL/R0fi/0VF4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zk5 + 4P83N9//NTXf/zMz3/8xMd7/Ly/e/y0t3v8rK93/KSnd/ycn3f8lJd3/IyPc/yIi3P8gINz/Hh7b/xwc + 2/8aGtvAGxvb/xwc2/8eHtv/ICDc/yIi3P8kJNz/Jibd/ycn3f8pKd3/Kyve/y0t3v8vL97/MTHe/zMz + 3/81Nd//Nzff/zk54P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9HR+L/SEji/0pK4v9MTOP/Tk7j/1BQ + 4/9SUuT/VFTk/1VV5P9XV+T/WVnl/1pa5f9cXOX/Xl7l/19f5v9hYeb/YmLm/2Rk5v9lZef/Z2fn/2ho + 5/9paef/amrn/2tr6P9sbOj/bW3o/25u6P9wcOj/cHDo/3Fx6f9ycun/cnLq/3Nz6v90dOj/dXXi/3Z2 + 2/93d9H/d3jH/3h5wP94ebz/eHm4/3l5uv94eb7/eHjD/3d4zP92dtb/dXXf/3R05v9zc+n/cnLq/3Jy + 6f9xcen/cHDo/29v6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp5/9nZ+f/Zmbn/2Vl5/9jY+b/YmLm/2Fh + 5v9fX+b/Xl7l/1xc5f9aWuX/WVnl/1dX5P9VVeT/VFTk/1JS5P9QUOP/Tk7j/0xM4/9KSuL/SEji/0ZG + 4v9FReL/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zU13/8zM9//MTHe/y8v3v8tLd7/Kyve/yoq + 3f8nJ93/JSXd/yQk3P8iItz/ICDc/x4e2/8cHNv/Ghrb/xkZ26oaGtv1Gxvb/x0d2/8fH9z/ISHc/yIi + 3P8kJNz/Jibd/ygo3f8qKt3/LCze/y4u3v8wMN7/MjLf/zMz3/81Nd//Nzff/zk54P87O+D/PT3g/z8/ + 4f9BQeH/Q0Ph/0VF4v9GRuL/SEji/0pK4v9MTOP/Tk7j/09P4/9RUeT/U1Pk/1VV5P9WVuT/WFjl/1pa + 5f9bW+X/XV3l/15e5v9gYOb/YWHm/2Ji5v9kZOf/ZWXn/2Zm5/9nZ+f/aGjn/2lp5/9ra+j/bGzo/2xs + 6P9tbej/bm7o/29v6P9vb+j/cHDo/3Fx6f9xcen/cXHq/3Jy6v9ycur/cnLq/3Jy6v9ycur/cnLq/3Jy + 6v9ycur/cnLq/3Fx6v9xcen/cHDp/3Bw6P9wcOj/b2/o/25u6P9tbej/bW3o/2tr6P9qauf/amrn/2lp + 5/9nZ+f/Zmbn/2Vl5/9kZOb/YmLm/2Fh5v9gYOb/Xl7m/11d5f9bW+X/WVnl/1hY5f9XV+T/VVXk/1NT + 5P9RUeT/UFDj/05O4/9MTOP/Skri/0hI4v9HR+L/RUXi/0ND4f9BQeH/Pz/h/z094P87O+D/OTng/zc3 + 3/81Nd//MzPf/zEx3v8wMN7/Li7e/yws3v8qKt3/KCjd/yYm3f8kJNz/IiLc/yEh3P8fH9z/HR3b/xsb + 2/8ZGdv7GBjahhkZ284aGtv/HBzb/x4e2/8fH9z/ISHc/yMj3P8lJdz/Jyfd/ygo3f8qKt3/LCze/y4u + 3v8wMN7/MjLf/zQ03/82Nt//Nzff/zo64P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0VF4v9GRuL/SEji/0pK + 4v9MTOP/TU3j/09P4/9RUeP/U1Pk/1RU5P9VVeT/V1fk/1hY5f9aWuX/XFzl/11d5f9eXub/YGDm/2Fh + 5v9iYub/Y2Pm/2Vl5/9mZuf/Z2fn/2ho5/9paef/amrn/2tr6P9ra+j/bGzo/2xs6P9tbej/bW3o/25u + 6P9ubuj/b2/o/29v6P9vb+j/b2/o/29v6P9vb+j/b2/o/29v6P9ubuj/bm7o/25u6P9ubuj/bW3o/2xs + 6P9sbOj/a2vo/2pq5/9qauf/aWnn/2ho5/9nZ+f/Zmbn/2Rk5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d + 5f9cXOX/Wlrl/1lZ5f9XV+T/Vlbk/1RU5P9TU+T/UVHj/09P4/9OTuP/TEzj/0pK4v9ISOL/Rkbi/0RE + 4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zk54P83N9//NTXf/zQ03/8yMt//MDDe/y4u3v8sLN7/Kird/ygo + 3f8nJ93/JSXc/yMj3P8hIdz/Hx/c/x0d2/8bG9v/Ghrb/xgY2vEXF9pZGBjakBkZ2/waGtv/HBzb/x4e + 2/8fH9z/ISHc/yMj3P8lJd3/Jyfd/ykp3f8qKt3/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z8/4f9BQeH/Q0Ph/0RE4f9GRuL/SEji/0pK4v9LS+P/TU3j/09P4/9QUOP/UlLk/1NT + 5P9VVeT/Vlbk/1dX5f9ZWeX/W1vl/1xc5f9dXeX/Xl7m/2Bg5v9hYeb/YmLm/2Nj5v9kZOb/ZWXn/2Zm + 5/9nZ+f/aGjn/2lp5/9paef/aWnn/2pq5/9qauj/a2vo/2tr6P9ra+j/bGzo/2xs6P9sbOj/bGzo/2xs + 6P9sbOj/bGzo/2xs6P9ra+j/a2vo/2tr6P9qauf/aWnn/2lp5/9oaOf/Z2fn/2dn5/9mZuf/ZWXn/2Rk + 5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d5f9cXOX/W1vl/1lZ5f9YWOX/Vlbk/1VV5P9TU+T/UlLk/1BQ + 4/9OTuP/TU3j/0tL4/9JSeL/SEji/0ZG4v9EROH/Q0Ph/0FB4f8/P+H/PT3g/zs74P85OeD/Nzff/zY2 + 3/80NN//MjLf/zAw3v8uLt7/LCze/yoq3f8pKd3/Jyfd/yUl3f8kJNz/ISHc/yAg3P8eHtv/HBzb/xoa + 2/8ZGdv/Fxfa1xcX2ioXF9pKGBja6RkZ2/8bG9v/HR3b/x4e2/8gINz/IiLc/yQk3P8lJd3/Jyfd/ykp + 3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ03/82Nt//Nzff/zk54P87O+D/PT3g/z8/4f9AQOH/QkLh/0RE + 4f9GRuL/R0fi/0lJ4v9LS+L/TEzj/05O4/9PT+P/UVHj/1JS5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1pa + 5f9cXOX/XV3l/15e5v9fX+b/YGDm/2Fh5v9iYub/Y2Pm/2Rk5v9lZef/ZWXn/2Zm5/9nZ+f/Z2fn/2dn + 5/9oaOf/aGjn/2lp5/9paef/aWnn/2lp5/9paef/aWnn/2lp5/9paef/aWnn/2ho5/9oaOf/aGjn/2dn + 5/9nZ+f/Zmbn/2Vl5/9lZef/ZGTm/2Nj5v9iYub/YWHm/2Bg5v9fX+b/Xl7m/11d5f9cXOX/W1vl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/UlLk/1FR4/9PT+P/Tk7j/0xM4/9KSuL/SUni/0dH4v9FReL/RETh/0JC + 4f9BQeH/Pz/h/z094P87O+D/Ojrg/zc33/82Nt//NDTf/zIy3/8wMN7/Li7e/y0t3v8rK93/KSnd/ycn + 3f8lJd3/IyPc/yIi3P8gINz/Hh7b/x0d2/8bG9v/GRnb/xgY2v8XF9qhFhbaChYW2hQXF9q2GBja/xkZ + 2/8bG9v/HR3b/x8f3P8gINz/IiLc/yQk3P8lJd3/Jyfd/ykp3f8rK93/LS3e/y4u3v8wMN7/MjLf/zQ0 + 3/82Nt//Nzff/zk54P87O+D/PT3g/z4+4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9KSuL/S0vj/01N + 4/9OTuP/UFDj/1FR5P9TU+T/VFTk/1VV5P9XV+T/WFjl/1lZ5f9aWuX/W1vl/1xc5f9dXeX/X1/m/2Bg + 5v9gYOb/YWHm/2Ji5v9iYub/Y2Pm/2Rk5v9kZOb/ZGTn/2Vl5/9mZuf/Zmbn/2Zm5/9mZuf/Zmbn/2Zm + 5/9mZuf/Zmbn/2Zm5/9mZuf/ZWXn/2Vl5/9lZef/ZGTn/2Rk5v9kZOb/Y2Pm/2Ji5v9hYeb/YGDm/19f + 5v9eXub/XV3l/11d5f9cXOX/Wlrl/1lZ5f9YWOX/V1fk/1ZW5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/01N + 4/9LS+P/Skri/0hI4v9HR+L/RUXi/0RE4f9CQuH/QEDh/z4+4f89PeD/Ozvg/zk54P83N9//Njbf/zQ0 + 3/8yMt//MDDe/y4u3v8tLd7/Kyvd/ykp3f8nJ93/Jibd/yQk3P8iItz/ICDc/x4e2/8dHdv/Gxvb/xoa + 2/8YGNr/Fxfa8xYW2lcXF9oAFxfaABYW2l8XF9r1GBjb/xoa2/8cHNv/HR3b/x8f3P8hIdz/IyPc/yQk + 3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8wMN7/MjLf/zQ03/81Nd//Nzff/zk54P87O+D/PDzg/z4+ + 4P9AQOH/QUHh/0ND4f9FReL/Rkbi/0hI4v9JSeL/S0vi/0xM4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1RU + 5P9VVeT/V1fk/1dX5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/11d5f9eXub/X1/m/19f5v9gYOb/YWHm/2Fh + 5v9iYub/YmLm/2Ji5v9iYub/Y2Pm/2Nj5v9jY+b/Y2Pm/2Nj5v9jY+b/Y2Pm/2Nj5v9jY+b/YmLm/2Ji + 5v9hYeb/YWHm/2Bg5v9gYOb/X1/m/15e5v9dXeX/XFzl/1xc5f9bW+X/Wlrl/1lZ5f9YWOX/V1fk/1ZW + 5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/01N4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0RE4v9DQ+H/QUHh/0BA + 4f8+PuD/PDzg/zs74P85OeD/Nzff/zY23/80NN//MjLf/zAw3v8uLt7/LCze/ysr3f8pKd3/KCjd/yYm + 3f8kJNz/IyPc/yEh3P8fH9z/HR3b/xsb2/8aGtv/GRnb/xcX2v8WFtq9FRXaFxYW2gAVFdoAFRXaFxYW + 2rcXF9r/GRnb/xoa2/8cHNv/HR3b/x8f3P8hIdz/IiLc/yQk3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u + 3v8wMN7/MjLf/zMz3/81Nd//Nzff/zk54P86OuD/PDzg/z4+4P8/P+H/QUHh/0JC4f9EROH/RUXi/0dH + 4v9ISOL/Skri/0tL4/9MTOP/Tk7j/09P4/9RUeP/UVHk/1JS5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ + 5f9aWuX/W1vl/1tb5f9cXOX/XV3l/11d5f9eXub/Xl7m/19f5v9fX+b/YGDm/2Bg5v9gYOb/YGDm/2Bg + 5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/15e5v9eXub/XV3l/11d5f9cXOX/XFzl/1tb + 5f9aWuX/WVnl/1hY5f9XV+T/Vlbk/1VV5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/05O4/9MTOP/S0vj/0pK + 4v9ISOL/R0fi/0VF4v9EROH/QkLh/0BA4f8/P+H/PT3g/zw84P86OuD/ODjg/zc33/81Nd//MzPf/zIy + 3/8wMN7/Li7e/y0t3v8rK93/KSnd/ycn3f8mJt3/JCTc/yIi3P8hIdz/Hx/c/x4e2/8cHNv/Ghrb/xgY + 2/8XF9r/Fhba8hUV2lwXF9oAFRXaABUV2gAWFtoAFRXaSxYW2ucXF9r/GRnb/xsb2/8cHNv/Hh7b/x8f + 3P8hIdz/IiLc/yQk3P8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8wMN7/MTHe/zMz3/81Nd//Nzff/zg4 + 4P86OuD/Ozvg/z094P8+PuH/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9HR+L/SUni/0pK4v9LS+P/TEzj/05O + 4/9PT+P/UFDj/1FR5P9SUuT/U1Pk/1RU5P9VVeT/Vlbk/1dX5P9XV+T/WFjl/1lZ5f9aWuX/Wlrl/1tb + 5f9cXOX/XFzl/1xc5f9dXeX/XV3l/11d5f9dXeX/Xl7l/15e5f9dXeX/XV3l/11d5f9dXeX/XV3l/1xc + 5f9cXOX/W1vl/1tb5f9aWuX/Wlrl/1lZ5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UlLk/1FR + 5P9QUOP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG4v9EROH/Q0Ph/0FB4f9AQOH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXf/zMz3/8xMd7/MDDe/y4u3v8tLd7/Kyvd/ykp3f8oKN3/Jibd/yQk + 3P8iItz/ISHc/x8f3P8dHdv/HBzb/xoa2/8ZGdv/Fxfa/xYW2v8VFdqkFRXaDxUV2gAAAAAAAAAAABUV + 2gAVFdoGFRXafxYW2vgXF9r/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ykp + 3f8rK93/LS3e/y4u3v8vL97/MTHe/zMz3/80NN//Njbf/zg44P85OeD/Ozvg/zw84P8+PuD/Pz/h/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0lJ4v9KSuL/TEzj/01N4/9OTuP/T0/j/1BQ4/9RUeP/UlLk/1JS + 5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1dX5P9XV+X/WFjl/1lZ5f9ZWeX/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9bW+X/Wlrl/1tb5f9aWuX/Wlrl/1pa5f9aWuX/WVnl/1lZ5f9ZWeX/WFjl/1hY5f9XV+T/Vlbk/1ZW + 5P9VVeT/VFTk/1NT5P9SUuT/UlLk/1FR4/9PT+P/Tk7j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG + 4v9FReL/RETh/0JC4f9AQOH/Pz/h/z4+4f89PeD/Ozvg/zk54P83N9//Njbf/zQ03/8zM9//MTHe/zAw + 3v8uLt7/LCze/ysr3f8pKd3/Jyfd/yYm3f8kJNz/IiLc/yEh3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY + 2v8WFtr/FRXazxQU2i8VFdoAExPaAAAAAAAAAAAAAAAAABQU2gAUFNoVFRXanxYW2vwYGNr/GRnb/xsb + 2/8cHNv/Hh7b/x8f3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ykp3f8rK93/LCze/y4u3v8vL97/MTHe/zMz + 3/80NN//Njbf/zc33/85OeD/Ojrg/zs74P89PeD/Pj7g/0BA4f9BQeH/QkLh/0RE4f9FReL/R0fi/0hI + 4v9JSeL/Skri/0tL4/9MTOP/TU3j/05O4/9PT+P/UFDj/1FR4/9RUeT/UlLk/1NT5P9UVOT/VFTk/1VV + 5P9VVeT/Vlbk/1ZW5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1hY5f9YWOX/WFjl/1hY5f9XV+X/WFjl/1dX + 5P9XV+T/Vlbk/1ZW5P9WVuT/VVXk/1RU5P9UVOT/U1Pk/1NT5P9SUuT/UVHj/1BQ4/9PT+P/Tk7j/01N + 4/9MTOP/S0vi/0pK4v9JSeL/R0fi/0ZG4v9FReL/RETh/0JC4f9BQeH/QEDh/z8/4f89PeD/PDzg/zo6 + 4P85OeD/Nzff/zU13/80NN//MjLf/zEx3v8vL97/Li7e/yws3v8qKt3/KSnd/ycn3f8mJt3/JCTc/yMj + 3P8hIdz/Hx/c/x4e2/8cHNv/Gxvb/xkZ2/8XF9r/Fhba/xUV2uAVFdpOCgrYABQU2gAAAAAAAAAAAAAA + AAAAAAAADw/ZABYW2gAVFdoeFhbaqBYW2vsYGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk + 3P8lJd3/Jyfd/ykp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy3/8zM9//NTXf/zY23/84ON//OTng/zs7 + 4P88POD/PT3g/z8/4f9AQOH/QUHh/0ND4f9EROH/RUXi/0ZG4v9ISOL/SEji/0lJ4v9KSuL/TEzj/0xM + 4/9NTeP/Tk7j/09P4/9QUOP/UVHj/1FR5P9SUuT/UlLk/1NT5P9TU+T/U1Pk/1RU5P9UVOT/VFTk/1RU + 5P9UVOT/VVXk/1VV5P9VVeT/VFTk/1VV5P9VVeT/VFTk/1RU5P9TU+T/U1Pk/1JS5P9SUuT/UVHk/1FR + 4/9QUOP/UFDj/09P4/9OTuP/TU3j/01N4/9LS+P/Skri/0lJ4v9ISOL/R0fi/0dH4v9FReL/RETh/0ND + 4f9BQeH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjf/zc33/81Nd//MzPf/zIy3/8wMN7/Ly/e/y0t + 3v8sLN7/Kird/ykp3f8nJ93/Jibd/yQk3P8iItz/ISHc/x8f3P8eHtv/HBzb/xsb2/8ZGdv/GBja/xYW + 2v8VFdriFRXaWxUV2gMVFdoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBTaABUV2gAVFdocFRXamhYW + 2vUYGNr/GRnb/xsb2/8cHNv/Hh7b/x8f3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo3f8qKt3/Kyve/y0t + 3v8uLt7/MDDe/zEx3v8zM9//NDTf/zY23/83N9//OTng/zo64P87O+D/PDzg/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/RETh/0VF4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4v9LS+P/TEzj/01N4/9OTuP/Tk7j/09P + 4/9PT+P/UFDj/1BQ4/9RUeP/UVHj/1FR4/9RUeT/UlLk/1JS5P9SUuT/UlLk/1JS5P9SUuT/UVHk/1JS + 5P9RUeT/UVHj/1FR4/9QUOP/UFDj/09P4/9PT+P/Tk7j/05O4/9MTOP/TEzj/0xM4/9LS+L/Skri/0lJ + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9BQeH/QEDh/z8/4f8+PuD/PDzg/zs74P86OuD/ODjg/zc3 + 3/82Nt//NDTf/zMz3/8xMd7/MDDe/y4u3v8tLd7/Kyve/yoq3f8oKN3/Jyfd/yUl3f8kJNz/IiLc/yEh + 3P8fH9z/Hh7b/xwc2/8bG9v/GRnb/xgY2v8WFtr/FRXa1hUV2lMVFdoEFRXaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAFhbaABUV2gAVFdoRFhbadBcX2uAYGNr/GRnb/xoa2/8cHNv/Hh7b/x8f + 3P8gINz/IiLc/yMj3P8lJdz/Jibd/ygo3f8pKd3/Kyvd/y0t3v8uLt7/Ly/e/zEx3v8yMt//NDTf/zU1 + 3/82Nt//ODjf/zk54P86OuD/Ozvg/zw84P8+PuD/Pz/h/0BA4f9BQeH/QkLh/0RE4f9EROH/RUXi/0ZG + 4v9HR+L/SEji/0hI4v9JSeL/Skri/0tL4v9LS+P/TEzj/01N4/9NTeP/TU3j/05O4/9OTuP/Tk7j/09P + 4/9PT+P/T0/j/09P4/9PT+P/T0/j/09P4/9PT+P/T0/j/05O4/9OTuP/Tk7j/01N4/9NTeP/TU3j/0xM + 4/9MTOP/S0vj/0pK4v9JSeL/SUni/0hI4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/ + 4f8+PuD/PDzg/zw84P86OuD/OTng/zg43/82Nt//NTXf/zMz3/8yMt//MTHe/y8v3v8uLt7/LCze/ysr + 3f8qKt3/KCjd/ycn3f8lJd3/IyPc/yIi3P8gINz/Hx/c/x4e2/8cHNv/Gxvb/xkZ2/8YGNr/Fxfa9xUV + 2rIVFdo4ExPaARQU2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW + 2gAWFtoFFxfaPBcX2qUYGNrsGRnb/xsb2/8cHNv/HR3b/x8f3P8gINz/ISHc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P85OeD/Ojrg/zs7 + 4P89PeD/PT3g/z8/4f9AQOH/QUHh/0JC4f9DQ+H/RETh/0VF4v9FReL/Rkbi/0dH4v9HR+L/SEji/0lJ + 4v9JSeL/Skri/0pK4v9LS+L/S0vj/0xM4/9MTOP/TEzj/0xM4/9MTOP/TEzj/0xM4/9MTOP/TEzj/0xM + 4/9MTOP/S0vj/0tL4/9LS+L/S0vi/0pK4v9KSuL/SUni/0lJ4v9ISOL/R0fi/0dH4v9GRuL/RUXi/0RE + 4f9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/4f8+PuD/PT3g/zw84P86OuD/OTng/zg44P83N9//NTXf/zQ0 + 3/8zM9//MjLf/zAw3v8vL97/LS3e/ysr3v8qKt3/KSnd/ycn3f8mJt3/JSXc/yMj3P8iItz/ICDc/x8f + 3P8dHdv/HBzb/xoa2/8ZGdv/GBja+hcX2tAWFtpvFRXaFxoa2wAUFNoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW2gAZGdsAFxfaDRgY2kgYGNubGRnb2Boa + 2/UcHNv+HR3b/x8f3P8gINz/ISHc/yMj3P8kJNz/JSXd/ycn3f8oKN3/Kird/ysr3f8sLN7/Li7e/y8v + 3v8wMN7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zo64P87O+D/PDzg/z094P8+PuD/Pz/h/0BA + 4f9BQeH/QkLh/0ND4f9DQ+H/RETh/0VF4v9GRuL/Rkbi/0ZG4v9HR+L/R0fi/0hI4v9ISOL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9JSeL/SUni/0pK4v9KSuL/SUni/0lJ4v9JSeL/SEji/0hI4v9ISOL/R0fi/0dH + 4v9GRuL/Rkbi/0VF4v9FReL/RETh/0ND4f9CQuH/QkLh/0FB4f9AQOH/Pz/h/z4+4f89PeD/PDzg/zw8 + 4P86OuD/OTng/zg43/83N9//Njbf/zQ03/8zM9//MjLf/zAw3v8wMN7/Li7e/yws3v8rK97/KSnd/ygo + 3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8eHtv/HR3b/xwc2/8bG9v7GRnb6hgY2r0XF9pyFhbaJRYW + 2gIWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUFNoAKirdABgY2gkZGdsuGhrbZhsb26AcHNvMHR3b6B4e2/YgINz+ISHc/yMj + 3P8kJNz/JSXd/ycn3f8oKN3/KSnd/ysr3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/80NN//NTXf/zU1 + 3/83N9//ODjg/zk54P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f9AQOH/QEDh/0FB4f9CQuH/QkLh/0ND + 4f9EROH/RETh/0VF4v9FReL/Rkbi/0ZG4v9GRuL/Rkbi/0dH4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0dH + 4v9HR+L/Rkbi/0ZG4v9GRuL/Rkbi/0VF4v9FReL/RUXi/0RE4f9DQ+H/Q0Ph/0JC4f9CQuH/QUHh/0BA + 4f8/P+H/Pz/h/z4+4P89PeD/PDzg/zs74P86OuD/OTng/zg44P83N9//Njbf/zU13/80NN//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yEh3P8gINz/Hh7b+x0d + 2/AcHNvcGxvbuRoa24MZGdtJFxfaFxcX2gIXF9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAA//wA + AAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf8AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAA + AA/AAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAA + AAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD/gA + AAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAA + Af//4AAAAAAAAAAAAAAAAAf/KAAAAMAAAACAAQAAAQAgAAAAAAAAQAIAnQQAAJ0EAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZABIS2QQSEtkZEhLZNxIS2WQSEtmTEhLZthIS2dUSEtnoEhLZ8xIS2fwSEtn/EhLZ/xIS + 2f8SEtn/EhLa/xIS2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xUV2v8WFtr/Fxfa/xcX2v8YGNr/GBja/xgY + 2/8ZGdv/Ghrb/xoa3P8aGt3/HBzZ/x8fy/8jJLX/KCie/ywsiP8vL3j/MDFw/zExbf8xMWz/MTJs/zEy + bP8xMmz/MjJt/zIybf8yMm3/MjJt/zIybf8yM23/MjNt/zMzbf8zM23/MzNt/zMzbf8zM23/MzNt/zMz + bf8zNG3/MzNt/zMzbf8zNG3/MzRt/zQ0bf80NG3/MzRt/zQ0bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ1 + bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ0bf80NG3/NDRt/zQ1bf80NW3/NDRt/zQ0bf80NG3/NDRt/zQ0 + bf80NG3/MzRt/zQ0bf80NG3/MzRt/zM0bf8zNG3/MzRt/zM0bf8zM23/MzNt/zMzbf8zM23/MzNt/zMz + bf8yM23/MjNt/zIybf8yMm3/MjJt/zIybf8yMmz/MjJt/zEybP8xMmz/MTJs/zExbP8xMWz/MDFv/y8v + dv8sLIP/KCmY/yQksP8gIMb/HBzW/xsb3f8bG9z/Ghrb/xkZ2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xYW + 2v8VFdr/FRXa/xQU2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn9EhLZ9RIS + 2esSEtnbEhLZvxIS2ZwSEtlxEhLZQhIS2R8SEtkIEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS2QASEtkPEhLZOBIS + 2XQSEtmtEhLZ1BIS2e8SEtn7EhLZ/hIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT + 2v8TE9r/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/Fxfa/xgY2v8ZGdv/GRnb/xoa2/8bG9v/Gxvc/x0d + 0/8iI7b/KiqO/zAxav81NVP/NzhF/zg5P/84OT3/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5PP84OT//NzhD/zY2 + Tv8yMmT/LCyE/yQkrP8eHs7/Gxvb/xoa2/8aGtv/GRnb/xgY2v8YGNr/GBja/xcX2v8WFtr/FRXa/xUV + 2v8UFNr/ExPa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2fwSEtnzEhLZ3BIS2bgSEtmDEhLZRxIS2RYSEtkCEhLZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkBEhLZEBIS2UoSEtmcEhLZ2BIS2fYSEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT2v8TE9r/ExPa/xQU2v8UFNr/FRXa/xUV + 2v8WFtr/Fxfa/xcX2v8YGNr/GRnb/xkZ2/8aGtv/Ghrb/xsb3P8dHdf/IyO1/y0tfP81NVL/ODk//zk6 + Of85Ojn/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zk6Ov85Ojn/OTk8/zY2 + S/8vL3D/JSWn/x0d0v8bG9z/Ghrb/xkZ2/8ZGdv/GBjb/xgY2v8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU + 2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn6EhLZ4hIS2a8SEtleEhLZGhIS2QISEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASEtkAEhLZABIS2QoSEtlEEhLZoRIS2eYSEtn8EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8UFNr/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/GBja/xgY + 2/8ZGdv/Ghrb/xoa2/8bG9v/Gxvc/x8fyf8qK4z/NTVR/zk5PP85Ojr/OTo7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov85Ojv/NjdI/y0u + e/8hIb3/Gxvb/xsb2/8aGtv/Ghrb/xkZ2/8YGNv/GBja/xcX2v8WFtr/Fhba/xUV2v8UFNr/FBTa/xMT + 2v8TE9r/ExPa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f4SEtnvEhLZuBIS2VkSEtkTEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS2QASEtkBEhLZIxIS + 2YISEtnaEhLZ/RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS + 2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xYW2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa2/8aGtv/Gxvb/xsb + 2/8dHdv/IiK//y8vdP84OEL/OTo6/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zg5Pf8yMmP/JSWu/xwc + 2f8bG9z/Gxvb/xoa2/8ZGdv/GBjb/xgY2v8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU2v8UFNr/FBTa/xMT + 2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2egSEtmbEhLZOBIS2QMSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2QUSEtlBEhLZsxIS2fYSEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8TE9r/FBTa/xUV + 2v8WFtr/Fhba/xcX2v8XF9r/GBja/xkZ2/8aGtv/Ghrb/xsb2/8cHNv/HBzc/x0d2v8kJLP/MjJl/zk5 + Pf85Ojv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/NDVV/ycnof8dHdb/HBzc/xsb + 2/8aGtv/GRnb/xkZ2/8YGNv/GBja/xcX2v8WFtr/FRXa/xUV2v8VFdr/FBTa/xMT2v8TE9r/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn6EhLZzBIS + 2VsSEtkMEhLZABIS2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEtkAEhLZChIS2WASEtnUEhLZ/RIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU2v8UFNr/FRXa/xYW2v8WFtr/Fxfa/xgY + 2v8YGNv/GRnb/xoa2/8bG9v/Gxvb/xwc2/8dHdv/Hh7c/yUltf8zNF3/OTo6/zk6O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zY2Tf8nKKD/HR3Z/xwc3P8cHNv/Gxvb/xoa + 2/8aGtv/GRnb/xkZ2/8XF9r/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xMT2v8SEtr/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2eYSEtl/EhLZFxIS + 2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIS + 2QASEtkPEhLZbRIS2eISEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8SEtr/EhLa/xMT2v8TE9r/FBTa/xUV2v8VFdr/Fhba/xYW2v8XF9r/GBjb/xkZ2/8aGtv/Ghrb/xsb + 2/8cHNv/HR3b/x0d2/8eHtz/IyPD/zIyaf85OTz/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov80NVb/JSav/x4e2/8dHdv/HBzb/xsb2/8bG9v/Ghrb/xkZ + 2/8ZGdv/GBjb/xcX2v8WFtr/Fhba/xUV2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnvEhLZkBIS2RwSEtkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2QsSEtlxEhLZ5hIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU + 2v8UFNr/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa2/8bG9v/HBzb/xwc2/8dHdv/Hh7b/x8f + 3f8hIs7/Ly97/zg5Pv85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/MjNj/yMjwf8eHtz/HR3b/x0d2/8cHNv/Gxvb/xoa2/8aGtv/GRnb/xgY + 2/8XF9r/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ9BIS2ZQSEtkaEhLZABIS2QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZBxIS2WYSEtnkEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xQU2v8WFtr/Fhba/xcX + 2v8XF9r/GBjb/xkZ2/8aGtv/Gxvb/xsb2/8cHNv/HR3b/x0d2/8eHtv/Hx/c/yAg2/8qKpz/NzhF/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk9/y4ugv8hIdX/Hx/c/x4e2/8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8ZGdv/GBja/xcX + 2v8XF9r/Fhba/xUV2v8UFNr/FBTa/xMT2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fQSEtmLEhLZFBIS2QASEtkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABIS2QASEtkCEhLZTRIS2dsSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT2v8UFNr/FRXa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xoa + 2/8bG9v/HBzb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ICDd/yQkxf8zM2T/OTo6/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo6/zY2 + Uf8nJ7H/ICDd/x8f3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xsb2/8aGtv/GRnb/xgY2/8YGNr/Fxfa/xYW + 2v8VFdr/FBTa/xQU2v8TE9r/EhLa/xIS2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtntEhLZdBIS2QgSEtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhLZABIS + 2QASEtkuEhLZwBIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xMT + 2v8TE9r/FBTa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GBja/xkZ2/8aGtv/Ghrb/xwc2/8cHNv/HR3b/x0d + 2/8eHtv/Hx/c/yAg3P8hIdz/IiLa/ywslP84OUL/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5PP8wMHn/IyPS/yEh + 3f8gINz/Hx/c/x4e2/8dHdv/HBzb/xwc2/8bG9v/Ghrb/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xUV + 2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ3hIS2UwSEtkBEhLZAAAAAAAAAAAAAAAAAAAAAAASEtkAEhLZABIS2RMSEtmYEhLZ+hIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xYW + 2v8WFtr/Fxfa/xcX2v8YGNv/GRnb/xoa2/8bG9v/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yEh + 3P8iIt3/JibK/zQ0Yf85Ojr/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk6Ov82N07/KCi0/yIi3v8hIdz/ICDc/x8f + 3P8eHtv/HR3b/x0d2/8cHNv/Gxvb/xsb2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2b0SEtkpEhLZABIS2QAAAAAAAAAAAAAAAAASEtkAEhLZAhIS2VoSEtnoEhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8TE9r/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ + 2/8ZGdv/Ghrb/xwc2/8cHNv/HR3b/x4e2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8jI97/Kiuu/zc4 + SP85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/84OT7/LS6R/yMj2/8iItz/ISHc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xcX2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS + 2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2fYSEtmDEhLZChIS + 2QAAAAAAAAAAAAAAAAASEtkAEhLZIBIS2bwSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtr/EhLa/xMT2v8UFNr/FBTa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8aGtv/Gxvb/x0d + 2/8dHdv/Hh7b/x8f3P8fH9z/ISHc/yEh3P8iItz/IyPc/yQk3f8lJdr/LzCK/zk5Pf85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85Ojr/MjNt/yUl0f8jI93/IiLc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc + 2/8cHNv/Gxvb/xoa2/8ZGdv/GBjb/xcX2v8XF9r/Fhba/xUV2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtnaEhLZQRIS2QASEtkAAAAAABIS + 2QASEtkCEhLZaxIS2fQSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xMT + 2v8UFNr/FRXa/xYW2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg + 3P8hIdz/IiLc/yIi3P8jI9z/JCTc/yUl3v8oKM7/NDRo/zk6Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85Ojr/NjdQ/ykpvf8lJd7/JCTc/yMj3P8iItz/IiLc/yEh3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8aGtv/GRnb/xgY2/8XF9r/Fxfa/xYW2v8VFdr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn9EhLZmBIS2QwSEtkAAAAAABIS2QASEtkhEhLZvBIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU2v8VFdr/Fhba/xcX + 2v8YGNr/GBja/xkZ2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk + 3P8lJd3/Jibd/yYm3/8qKsH/NjZY/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODhF/yws + q/8mJt7/JSXd/yUl3P8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8cHNv/Ghrb/xoa + 2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ3hIS2T4SEtkAAAAAABIS2QASEtlcEhLZ7RIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/EhLa/xMT2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8YGNv/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/ISHc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo + 4P8sLLn/NzdQ/zk6Of85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/ODlA/y4un/8nJ97/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY + 2v8XF9r/Fhba/xUV2v8VFdr/FBTa/xMT2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2f8SEtn/EhLZ+xIS2YgSEtkHEhLZABIS2RISEtmdEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/Fxfa/xkZ2/8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e + 2/8fH9z/ICDc/yEh3P8hIdz/IiLc/yQk3P8lJd3/Jibd/yYm3f8nJ93/KCjd/ykp4P8vL67/ODhK/zk6 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk+/zAxk/8pKd3/KCjd/ycn3f8mJt3/JSXd/yQk + 3P8jI9z/IyPc/yEh3P8gINz/Hx/c/x4e2/8eHtv/HR3b/xsb2/8aGtv/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2ccSEtkmEhLZABIS2TYSEtnSEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xQU + 2v8VFdr/Fhba/xcX2v8YGNr/GBjb/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr3/8wMKX/ODlG/zk6Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk8/zIyiP8qKtv/KSnd/ygo3f8nJ93/Jyfd/yUl3f8kJNz/IyPc/yIi + 3P8hIdz/ICDc/yAg3P8eHtv/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xUV + 2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2ewSEtlYEhLZABIS + 2WkSEtnxEhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY + 2v8ZGdv/Ghrb/xoa2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm + 3f8nJ93/KCjd/ykp3f8qKt3/Kyve/yws3/8xMaH/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk8/zM0hP8sLNr/Kyve/yoq3f8pKd3/KCjd/yYm3f8mJt3/JSXc/yQk3P8iItz/IiLc/yEh + 3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2f8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f0SEtmKEhLZCRIS2aQSEtn9EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8VFdr/FRXa/xUV2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc + 2/8dHdv/Hh7b/x4e2/8fH9z/ICDc/yIi3P8jI9z/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq + 3f8rK97/LCze/y0t3/8yMqL/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zQ0 + hP8tLdr/Kyve/ysr3f8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f + 3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8ZGdv/GBja/xYW2v8WFtr/FRXa/xQU2v8TE9r/ExPa/xIS + 2v8SEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS2f8SEtm2EhLZHhIS2dYSEtn/EhLZ/xIS2f8SEtn/EhLZ/xIS + 2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GBjb/xoa2/8bG9v/HBzb/x0d2/8dHdv/Hx/c/yAg + 3P8gINz/IiLc/yMj3P8jI9z/JCTc/yYm3f8nJ93/Jyfd/ykp3f8pKd3/Kyvd/yws3v8sLN7/LS3e/y4u + 3/8zM6L/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zQ0hf8uLtv/LS3e/yws + 3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d + 2/8cHNv/Gxvb/xoa2/8ZGdv/GBjb/xgY2v8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZ/xIS + 2f8SEtn/EhLZ/xIS2f8SEtnWEhLZORIS2fYSEtn/EhLZ/xIS2f8SEtn/EhLa/xIS2v8TE9r/FBTa/xUV + 2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8eHtv/ICDc/yEh3P8iItz/IyPc/yQk + 3P8kJNz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/Ly/e/zAw3/8zM6L/ODlE/zk5 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zU1hf8vL9v/Li7e/y4u3v8sLN7/Kyvd/yoq + 3f8pKd3/KCjd/ygo3f8mJt3/JSXd/yUl3P8jI9z/IiLc/yIi3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8bG9v/GRnb/xgY2/8YGNr/Fxfa/xUV2v8VFdr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn/EhLZ/xIS + 2f8SEtnrEhLZVRIS2f8SEtn/EhLZ/xIS2f8SEtr/ExPa/xMT2v8UFNr/FRXa/xYW2v8XF9r/GBja/xkZ + 2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8iItz/JCTc/yUl3f8mJt3/Jyfd/ygo + 3f8pKd3/Kird/ysr3f8sLN7/LS3e/y4u3v8vL97/MDDf/zEx4P80NaL/ODlE/zk5Ov85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk8/zU2hf8xMdv/MDDf/y8v3v8uLt7/LS3e/yws3v8rK93/Kird/ygo + 3f8oKN3/Jyfd/yUl3f8kJNz/IyPc/yMj3P8iItz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/Fxfa/xYW2v8WFtr/FRXa/xQU2v8TE9r/EhLa/xIS2v8SEtn/EhLZ/xIS2f8SEtn1EhLZdRIS + 2f8SEtn/EhLZ/xIS2v8SEtr/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa2/8bG9v/Gxvb/x0d + 2/8eHtv/Hh7b/x8f3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm3f8oKN3/KCjd/yoq3f8rK93/Kyve/y0t + 3v8uLt7/Li7e/y8v3v8xMd7/MjLf/zMz4P81NqL/ODlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk8/zY2hf8yMtv/MTHf/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq3f8pKd3/KCjd/ycn + 3f8lJd3/JSXc/yQk3P8iItz/ISHc/yEh3P8fH9z/Hh7b/x4e2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX + 2v8WFtr/FRXa/xQU2v8UFNr/ExPa/xIS2v8SEtr/EhLZ/xIS2f8SEtn6EhLZkBIS2f8SEtn/EhLa/xMT + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/GRnb/xsb2/8bG9v/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8iItz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/ysr3f8sLN7/LCze/y4u3v8vL97/MDDe/zEx + 3v8yMt//MzPf/zQ04P82NqL/OTlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zc3 + hf80NNz/MjLf/zEx3v8wMN7/Ly/e/y8v3v8uLt7/LCze/ysr3f8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl + 3P8jI9z/IyPc/yIi3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xwc2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xUV + 2v8UFNr/FBTa/xMT2v8SEtr/EhLa/xIS2f8SEtn9EhLZnhIS2f8SEtr/EhLa/xMT2v8UFNr/FRXa/xUV + 2v8XF9r/GBja/xgY2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8jI9z/JCTc/yUl + 3f8mJt3/KCjd/ygo3f8pKd3/Kyvd/yws3v8tLd7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NTXf/zY2 + 4P83N6L/OTlE/zk5Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zc4hf81Ndz/NDTf/zMz + 3/8yMt//MTHe/zAw3v8vL97/LS3e/yws3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJdz/JCTc/yMj + 3P8iItz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTa/xMT + 2v8TE9r/EhLa/xIS2f8SEtn+EhLZqhIS2v8SEtr/ExPa/xQU2v8UFNr/FRXa/xYW2v8XF9r/GBjb/xoa + 2/8bG9v/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KCjd/yoq + 3f8rK93/LCze/y0t3v8uLt7/Ly/e/zAw3v8xMd7/MjLf/zQ03/81Nd//Njbf/zc34f84OKP/OTlE/zk5 + Ov85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5 + O/85OTv/OTk7/zk5O/85OTv/OTk7/zk5O/85OTv/OTk8/zg4hf82Ntz/NTXf/zU13/8zM9//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/ycn3f8mJt3/JSXc/yMj3P8iItz/ISHc/yAg + 3P8fH9z/Hh7b/x4e2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8WFtr/FRXa/xQU2v8UFNr/ExPa/xIS + 2v8SEtn/EhLZrxIS2v8TE9r/ExPa/xQU2v8VFdr/Fhba/xcX2v8YGNv/GRnb/xoa2/8cHNv/HBzb/x4e + 2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8mJt3/Jibd/ygo3f8pKd3/Kird/ysr3f8sLN7/LS3e/y4u + 3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU13/82Nt//Nzfg/zg44f85OaP/OTpF/zk6O/85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk5hv84ONz/Nzfg/zY23/80NN//MzPf/zIy3/8xMd7/MDDe/y8v + 3v8uLt7/LS3e/yws3v8rK93/Kird/ygo3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yEh3P8gINz/ICDc/x4e + 2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xUV2v8UFNr/ExPa/xMT2v8SEtr/EhLZsBMT + 2v8TE9r/FBTa/xUV2v8WFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ykp3f8qKt3/Kyvd/yws3v8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz + 3/80NN//NTXf/zY23/83N9//ODjg/zo64f86OqP/OjtG/zo7O/86Ozz/Ojs9/zo7PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs8/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojs8/zo7Pf86Ojz/Ojo8/zo6PP86Ozz/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojs9/zo7PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs8/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7PP86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Ozz/Ojs9/zo6hv85Odz/ODjg/zc33/82Nt//NTXf/zMz3/8zM9//MTHe/zAw3v8vL97/Li7e/y0t + 3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc + 2/8bG9v/Ghrb/xkZ2/8XF9r/Fxfa/xYW2v8UFNr/FBTa/xMT2v8SEtr/EhLasBQU2v8VFdr/FRXa/xYW + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/yAg3P8hIdz/ISHc/yMj3P8kJNz/JSXd/yYm + 3f8nJ93/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/MDDe/zEx3v8yMt//MzPf/zU13/81Nd//Njbf/zg4 + 3/85OeD/Ojrg/zs74f87O6T/OzxH/zs7PP87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87Oz3/Ozs+/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozs+/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs+/zs8Pv87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pv87Oz3/Ozs9/zs7Pf87Oz3/Ozw+/zs7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs+/zs7 + h/87O93/OTng/zg44P83N9//Njbf/zU13/80NN//MjLf/zEx3v8wMN7/Ly/e/y4u3v8tLd7/LCze/yoq + 3f8pKd3/KCjd/ycn3f8mJt3/JSXc/yMj3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8YGNv/Fxfa/xYW2v8VFdr/FRXa/xQU2v8TE9r/EhLasBQU2v8VFdr/Fhba/xcX2v8YGNr/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/Kird/ysr + 3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zg44P86OuD/Ozvg/zw8 + 4f89PaT/PDxH/zs8Pf88PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zs8Pv87PD7/Ozw+/zw8 + Pv88PD7/Ozw+/zs8Pv88PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv88PD7/PDw+/zs8Pv87PD7/PDw+/zw8 + Pv88PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv87PD7/PDw+/zw8Pv88PD7/PDw+/zs8Pv87PD7/PDw+/zw8 + Pv88PD7/PDw+/zs8Pv87PD7/Ozw+/zw8Pv87PD7/PDw+/zs8Pv87PD7/PDw+/zw8Pv87PD7/PDw+/zs8 + Pv87PD7/Ozw+/zw8Pv87PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zw8Pv88PD7/Ozw+/zs8 + Pv87PD7/PDw+/zs8Pv88PD7/PDw+/zw8Pv88PD7/PDw+/zw8Pv88PD7/Ozw+/zs8Pv88PD7/Ozw+/zw8 + Pv87PD7/Ozw+/zw8Pv88PD7/Ozw+/zw8Pv87PD7/Ozw+/zw8Pv87PD7/Ozw+/zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/PDw+/zw8Pv87PD7/PDw+/zs8Pv87PD7/Ozw+/zw8Pv87PD7/PDw//zw8h/88PN3/Ozvg/zo6 + 4P84OOD/Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ygo + 3f8mJt3/Jibd/yQk3P8jI9z/IiLc/yEh3P8gINz/Hx/c/x4e2/8dHdv/HBzb/xsb2/8ZGdv/GBja/xcX + 2v8WFtr/FRXa/xUV2v8UFNr/ExPasBUV2v8WFtr/Fxfa/xcX2v8YGNv/Ghrb/xsb2/8cHNv/HR3b/x4e + 2/8fH9z/ICDc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8qKt3/Kyvd/yws3v8uLt7/Li7e/zAw + 3v8xMd7/MjLf/zMz3/81Nd//NTXf/zc33/84OOD/OTng/zo64P88POD/PT3g/z4+4v8+PqX/PD1I/zw9 + Pv88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//zw9P/88PT//PD1A/z09iP89Pd3/PDzh/zs74P86OuD/ODjg/zc3 + 3/82Nt//NTXf/zQ03/8yMt//MTHe/zAw3v8vL97/Li7e/y0t3v8rK97/Kird/ykp3f8oKN3/Jyfd/yUl + 3f8kJNz/IyPc/yEh3P8hIdz/ICDc/x8f3P8eHtv/HBzb/xsb2/8aGtv/GRnb/xgY2/8XF9r/Fhba/xUV + 2v8UFNr/ExPasBYW2v8WFtr/Fxfa/xgY2/8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yMj + 3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp3f8rK93/LCze/y0t3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ0 + 3/82Nt//Nzff/zg43/85OeD/Ojrg/zs74P89PeD/Pj7h/z8/4v8/P6X/PT5J/z0+P/89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5B/z4/iP8/P93/PT3h/zw84P87O+D/Ojrg/zg44P83N9//Nzff/zU1 + 3/80NN//MzPf/zEx3/8wMN7/Ly/e/y4u3v8tLd7/LCze/yoq3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yMj + 3P8hIdz/ISHc/x8f3P8fH9z/HR3b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2v8VFdr/FBTasBYW + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8oKN3/KSnd/ysr3f8sLN7/LS3e/y4u3v8vL97/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zk5 + 4P87O+D/PDzg/z094P8+PuH/Pz/h/0FB4v9AQKb/Pj9K/z4/QP8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+PkH/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/ + Qf8+P0H/Pj9C/z8/if9AQN7/Pz/h/z094P88POD/Ozvg/zo64P85OeD/ODjf/zc33/81Nd//NDTf/zMz + 3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ycn3f8mJt3/JSXd/yQk3P8jI9z/IiLc/yEh + 3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xkZ2/8YGNv/Fxfa/xcX2v8WFtr/FRXasBYW2v8YGNr/GRnb/xoa + 2/8bG9v/HBzb/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yUl3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8tLd7/Li7e/y8v3v8xMd7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zs74P88POD/PT3g/z4+ + 4f9AQOH/QUHh/0JC4v9BQab/P0BL/z8/QP8/P0L/Pz9C/z9AQv8/QEL/P0BC/z9AQv8/P0L/P0BC/z9A + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/P0BC/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z9AQv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/ + Qv8/P0L/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/QEL/Pz9C/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/0BB + if9BQd7/QEDh/z4+4f8+PuD/PDzg/zs74P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8zM9//MTHe/zAw + 3v8vL97/Li7e/yws3v8rK97/Kird/ykp3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xoa2/8ZGdv/GBjb/xcX2v8WFtr/FhbasBcX2v8YGNv/Ghrb/xsb2/8bG9v/HR3b/x4e + 2/8gINz/ISHc/yIi3P8jI9z/JCTc/yUl3f8nJ93/KCjd/ykp3f8qKt3/LCze/y0t3v8uLt7/Ly/e/zEx + 3v8yMt//MzPf/zQ03/81Nd//Nzff/zk54P86OuD/Ozvg/zw84P89PeD/Pj7h/0BA4f9BQeH/QkLh/0RE + 4/9DQ6f/QEFL/z9AQf8/QEP/P0BD/z9AQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/z9AQv9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/P0BC/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBD/0BAQ/9AQEP/P0BD/z9A + Qv8/QEP/QEBD/z9AQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEL/QEBD/0BA + Q/8/QEP/P0BC/z9AQv8/QEP/P0BC/z9AQv9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEP/P0BC/z9AQ/8/QEL/QEBD/z9AQ/8/QEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/8/QEP/QEBD/0BAQ/9AQEP/QEBD/0BAQ/9AQEP/QEBD/0BA + Q/9AQEP/QEBD/0BAQ/9AQEP/QEBD/z9AQv8/QEL/QEBD/0BAQ/9AQEL/QEBD/0FCiv9CQt7/QUHh/0BA + 4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zk54P84OOD/Njbf/zU13/80NN//MzPf/zEx3v8wMN7/Ly/e/y4u + 3v8sLN7/Kyvd/yoq3f8pKd3/Jyfd/yYm3f8lJdz/JCTc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HBzb/xsb + 2/8aGtv/GRnb/xgY2v8XF9r/FxfasBgY2v8ZGdv/Ghrb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yMj + 3P8kJNz/JSXd/yYm3f8oKN3/KSnd/yoq3f8rK97/LS3e/y4u3v8vL97/MTHe/zIy3/8zM9//NTXf/zY2 + 3/83N9//ODjg/zk54P87O+D/PDzg/z094P8+PuH/Pz/h/0FB4f9CQuH/Q0Ph/0VF4/9ERKf/QUFM/0BB + Qv9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFE/0BBRP9AQUP/QEFE/0BBQ/9AQUP/QEFE/0BB + Q/9AQUT/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFE/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9BQUT/QEFE/0BBQ/9AQUP/QEFD/0BB + RP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFE/0BBQ/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + RP9AQUT/QEFE/0BBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBQ/9AQUT/QEFD/0BBQ/9AQUT/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BBRP9AQUP/QEFE/0JDi/9ERN7/Q0Pi/0JC4f9AQOH/Pz/h/z4+ + 4P89PeD/Ozvg/zo64P84OOD/Nzff/zY23/81Nd//NDTf/zIy3/8xMd7/MDDe/y8v3v8tLd7/LCze/ysr + 3f8qKt3/KCjd/ycn3f8mJt3/JSXd/yQk3P8iItz/ISHc/yAg3P8fH9z/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/FxfasBkZ2/8aGtv/Gxvb/x0d2/8dHdv/Hx/c/x8f3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/ysr3v8tLd7/Li7e/y8v3v8wMN7/MjLf/zMz3/80NN//Njbf/zc33/84OOD/Ojrg/zs7 + 4P88POD/PT3g/z8/4f8/P+H/QUHh/0JC4f9DQ+H/RETi/0ZG4/9FRaf/QkJN/0FCQ/9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJF/0REi/9FRd//RETi/0ND4f9BQeH/QEDh/z8/4f8+PuH/PT3g/zs7 + 4P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8yMt//MTHe/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ygo + 3f8nJ93/Jibd/yQk3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8YGNv/GBjasBoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yEh3P8iItz/JCTc/yUl3P8mJt3/Jyfd/ygo3f8qKt3/Kyvd/yws + 3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zQ03/82Nt//Nzff/zg44P86OuD/Ozvg/zw84P89PeD/Pz/h/0BA + 4f9BQeH/QkLh/0RE4f9FReL/Rkbi/0dH4/9GRqj/QkNO/0JDRP9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JDRf9CQ0X/QkNF/0JD + Rf9CQ0X/QkNG/0VFjP9HR9//RUXi/0RE4f9DQ+H/QkLh/0FB4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zg4 + 4P83N9//Njbf/zU13/80NN//MjLf/zEx3v8vL97/Li7e/y0t3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl + 3f8kJNz/IiLc/yEh3P8gINz/Hx/c/x4e2/8cHNv/HBzb/xoa2/8ZGdv/GRnbsBoa2/8bG9v/HR3b/x4e + 2/8fH9z/ICDc/yIi3P8jI9z/JCTc/yYm3f8mJt3/KCjd/ykp3f8qKt3/LCze/y0t3v8uLt7/MDDe/zEx + 3v8zM9//NDTf/zU13/83N9//ODjg/zk54P86OuD/PDzg/zw84P8+PuH/QEDh/0FB4f9CQuH/RETh/0VF + 4v9GRuL/R0fi/0lJ4/9HR6j/Q0RP/0NDRf9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NE + Rv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0NG/0NDRv9DREb/Q0RG/0NERv9DQ0b/Q0NG/0NE + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0RG/0NE + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0RG/0NERv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NERv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NERv9DQ0b/Q0NG/0NERv9DQ0b/Q0NG/0NERv9DREb/Q0NG/0ND + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0NG/0NDRv9DREb/Q0RG/0NERv9DREb/Q0NG/0NDRv9DQ0b/Q0RG/0NE + Rv9DREb/Q0RG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NDRv9DQ0b/Q0NG/0ND + Rv9DQ0b/Q0NG/0NDRv9DQ0b/Q0RG/0NERv9DREb/Q0RG/0NERv9DREb/Q0RG/0NERv9DQ0b/Q0RH/0ZG + jP9ISN//R0fi/0VF4v9EROH/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ozvg/zo64P85OeD/Nzff/zY2 + 3/81Nd//MzPf/zIy3/8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/yYm3f8lJd3/IyPc/yIi + 3P8hIdz/ICDc/x8f3P8dHdv/HR3b/xsb2/8aGtv/GRnbsBwc2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8kJNz/JSXd/ycn3f8oKN3/KSnd/yoq3f8rK97/LS3e/y4u3v8wMN7/MTHe/zIy3/80NN//NTXf/zY2 + 3/83N9//OTng/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0ND4f9EROH/RETi/0ZG4v9ISOL/SUni/0pK + 5P9ISKn/REVP/0NERv9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/Q0RH/0RE + R/9EREf/RERH/0RER/9EREf/RERH/0NER/9DREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/Q0RH/0RER/9EREf/RERH/0RER/9EREf/REVH/0RE + R/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0RER/9DREf/RERH/0RER/9EREf/RERH/0NE + R/9DREf/Q0RH/0RER/9DREf/Q0RH/0RER/9EREf/RERH/0NER/9EREf/RERH/0RER/9EREf/RERH/0RE + R/9EREf/Q0RH/0RER/9EREf/Q0RH/0NER/9DREf/RERH/0RER/9DREf/RERH/0RER/9EREf/Q0RH/0NE + R/9EREf/RERH/0RER/9EREf/RERH/0RER/9EREf/RERH/0NER/9DREf/RERI/0dHjf9JSd//SEji/0dH + 4v9FReL/RETh/0ND4f9CQuH/QEDh/z8/4f89PeD/PDzg/zs74P86OuD/ODjg/zc33/82Nt//NTXf/zMz + 3/8yMt//MTHe/y8v3v8tLd7/LCze/ysr3f8qKt3/KSnd/ycn3f8mJt3/JCTc/yMj3P8iItz/ISHc/x8f + 3P8eHtv/Hh7b/xwc2/8bG9v/GhrbsB0d2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/Kird/ysr3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/84OOD/Ojrg/zs7 + 4P89PeD/Pj7h/0BA4f9BQeH/QkLh/0ND4f9FReL/Rkbi/0hI4v9JSeL/Skrj/0tL5P9JSqn/RUZQ/0RF + R/9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/RUVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/RUVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9FRUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0RF + SP9ERUj/REVI/0RFSP9ERUj/REVI/0RFSP9ERUj/REVI/0dIjf9KSt//SUnj/0hI4v9GRuL/RUXi/0RE + 4f9DQ+H/QUHh/0BA4f8/P+H/PT3g/zw84P87O+D/Ojrg/zg44P83N9//NTXf/zQ03/8zM9//MjLf/zAw + 3v8vL97/LS3e/yws3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8fH9z/Hh7b/x0d + 2/8cHNv/GxvbsB0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ03/82Nt//Nzff/zg44P86OuD/Ozvg/zw84P8+PuD/Pz/h/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0lJ4v9KSuL/TEzj/01N5P9LS6r/RkZR/0VGR/9FRkn/RUZJ/0VG + Sf9FRkj/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSP9FRkn/RUZI/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSP9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSP9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VGSf9FRkn/RUZJ/0VG + Sf9FRkn/RUZJ/0VGSf9FRkj/RUZJ/0hJjv9MTOD/S0vj/0lJ4v9ISOL/R0fi/0ZG4v9EROH/Q0Ph/0FB + 4f9AQOH/Pz/h/z094P88POD/Ojrg/zk54P84ON//Njbf/zU13/80NN//MjLf/zEx3v8wMN7/Ly/e/y0t + 3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IiLc/yEh3P8gINz/Hx/c/x4e2/8cHNv/HBzbsB4e + 2/8fH9z/ICDc/yEh3P8iItz/JCTc/yUl3f8mJt3/KCjd/ykp3f8qKt3/LCze/y4u3v8vL97/MDDe/zEx + 3v8yMt//NDTf/zU13/83N9//ODjg/zo64P87O+D/PDzg/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0ZG + 4v9ISOL/SUni/0pK4v9MTOP/TEzj/05O5P9MTKr/R0dS/0ZHSP9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSv9GR0r/RkdK/0ZHSv9GR0n/RkdJ/0ZHSv9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0r/RkdK/0ZHSv9GR0r/RkdK/0ZHSv9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSv9GR0r/RkdJ/0ZHSf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0r/RkdK/0ZHSf9GR0r/RkdJ/0ZHSf9GR0n/RkdJ/0ZHSf9GR0r/RkdK/0ZHSf9GR0n/RkdJ/0ZH + Sf9GR0n/RkdK/0ZHSf9GR0n/RkdJ/0ZHSv9GR0r/RkdK/0ZHSf9GR0n/RkdK/0ZHSv9GR0r/RkdK/0ZH + Sf9GR0n/RkdK/0pKj/9NTeD/TEzj/0tL4v9JSeL/SEji/0dH4v9FReL/RETh/0JC4f9BQeH/QEDh/z4+ + 4f89PeD/Ozvg/zo64P85OeD/ODjf/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y4u3v8sLN7/Kyvd/yoq + 3f8pKd3/Jyfd/yYm3f8lJd3/IyPc/yIi3P8hIdz/ICDc/x4e2/8dHdv/HBzbsB8f3P8gINz/ISHc/yIi + 3P8kJNz/JSXc/yYm3f8nJ93/KSnd/yoq3f8sLN7/LS3e/y4u3v8wMN7/MTHe/zIy3/80NN//NTXf/zY2 + 3/84OOD/OTng/zs74P88POD/PT3g/z8/4f9AQOH/QUHh/0ND4f9EROH/Rkbi/0dH4v9ISOL/Skri/0tL + 4/9NTeP/Tk7j/09P5P9NTav/SEhT/0dISf9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0dK/0dHSv9HR0r/R0dK/0dHSv9HSEr/R0dK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dHSv9HR0r/R0dK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HR0r/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0dK/0dHSv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dI + Sv9HSEr/R0hK/0dHSv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dH + Sv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dISv9HSEr/R0hK/0dHSv9HR0r/R0hL/0tL + j/9PT+D/TU3j/0xM4/9LS+L/SUni/0hI4v9GRuL/RUXi/0RE4f9CQuH/QUHh/0BA4f8+PuH/PDzg/zs7 + 4P86OuD/ODjg/zc33/82Nt//NDTf/zMz3/8yMt//MTHe/y8v3v8uLt7/LCze/ysr3f8pKd3/KCjd/ycn + 3f8mJt3/JSXc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HR3bsCAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn + 3f8oKN3/Kird/ysr3v8tLd7/Li7e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/85OeD/Ojrg/zw8 + 4P89PeD/Pz/h/0BA4f9CQuH/Q0Ph/0RE4f9FReL/R0fi/0hI4v9KSuL/S0vj/01N4/9OTuP/T0/j/1FR + 5f9OTqv/SElU/0hISv9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9HSEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9HSEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0dIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0dIS/9HSEv/R0hL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0dI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hI + S/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhL/0hIS/9ISEv/SEhM/0xMkP9QUOD/Tk7j/01N + 4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0VF4v9DQ+H/QkLh/0FB4f8/P+H/Pj7g/zw84P87O+D/Ojrg/zg4 + 4P83N9//Njbf/zQ03/8zM9//MjLf/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ycn3f8nJ93/Jibd/yQk + 3P8iItz/ISHc/yAg3P8fH9z/Hh7bsCEh3P8hIdz/IiLc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8uLt7/Ly/e/zAw3v8yMt//MzPf/zQ03/82Nt//Nzff/zg44P86OuD/PDzg/z094P8+PuH/Pz/h/0FB + 4f9CQuH/RETh/0ZG4v9HR+L/SEji/0lJ4v9LS+P/TEzj/05O4/9PT+P/UVHk/1JS5f9PT6z/SUpV/0hJ + S/9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SUlM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9JSUz/SUlM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SUlM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0lJTP9JSUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0lJTP9JSUz/SUlM/0hJTP9ISUz/SElM/0hJTP9ISUz/SElM/0hJ + TP9ISUz/SElM/0hJTP9ISUz/SElM/0hJTP9ISUz/SUlN/01NkP9RUeH/UFDk/05O4/9NTeP/TEzj/0pK + 4v9JSeL/R0fi/0ZG4v9FReL/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P88POD/Ojrg/zk54P84OOD/Nzff/zU1 + 3/80NN//MzPf/zEx3v8wMN7/Li7e/y0t3v8rK97/Kird/ygo3f8nJ93/Jibd/yUl3P8jI9z/IiLc/yAg + 3P8fH9z/Hx/csCEh3P8iItz/IyPc/yQk3P8mJt3/Jyfd/ykp3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx + 3v8yMt//MzPf/zU13/83N9//ODjg/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RUXi/0dH + 4v9ISOL/SUni/0tL4v9MTOP/TU3j/09P4/9QUOP/UlLk/1NT5f9QUKz/SktV/0lKTP9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lKTf9JSk3/SUpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SUpO/05Okf9TU+H/UVHk/1BQ4/9PT+P/TU3j/0tL4/9KSuL/SUni/0dH + 4v9GRuL/RUXi/0RE4f9CQuH/QEDh/z8/4f89PeD/PDzg/zo64P85OeD/ODjf/zY23/80NN//MzPf/zIy + 3/8wMN7/Ly/e/y4u3v8sLN7/Kyvd/ykp3f8oKN3/Jibd/yUl3f8kJNz/IiLc/yIi3P8gINz/Hx/csCEh + 3P8jI9z/JCTc/yUl3f8mJt3/KCjd/ykp3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8zM9//NDTf/zY2 + 3/84ON//OTng/zs74P88POD/Pj7g/z8/4f9AQOH/QkLh/0ND4f9FReL/Rkbi/0hI4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1VV5f9RUaz/S0tW/0pLTf9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pLTv9KS07/SktO/0pL + Tv9KS07/SktO/09Pkf9TU+H/UlLk/1FR4/9QUOP/T0/j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0VF + 4v9DQ+H/QUHh/0BA4f8+PuH/PT3g/zs74P86OuD/OTng/zc33/81Nd//NDTf/zMz3/8xMd7/MDDe/y4u + 3v8tLd7/Kyve/yoq3f8pKd3/Jyfd/yYm3f8lJdz/JCTc/yMj3P8gINz/Hx/csCMj3P8kJNz/JSXc/yYm + 3f8oKN3/KSnd/yoq3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zMz3/81Nd//Njbf/zc33/85OeD/Ojrg/zw8 + 4P89PeD/Pj7h/0BA4f9BQeH/Q0Ph/0RE4f9FReL/R0fi/0lJ4v9KSuL/S0vj/01N4/9OTuP/UFDj/1FR + 5P9TU+T/VFTk/1ZW5f9TU63/TExX/0tLTv9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0tP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tLT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tLT/9LTE//S0xP/0tM + T/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE//S0xP/0tMT/9LTE7/S0xP/1BQ + kv9VVeH/VFTk/1JS5P9RUeP/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/R0fi/0VF4v9EROH/QkLh/0FB + 4f8/P+H/PT3g/zw84P87O+D/OTng/zg44P82Nt//NTXf/zQ03/8yMt//MTHe/y8v3v8uLt7/LCze/ysr + 3f8qKt3/KSnd/ycn3f8lJd3/JCTc/yMj3P8iItz/ICDcsCMj3P8kJNz/Jibd/ycn3f8oKN3/KSnd/ysr + 3f8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz3/80NN//NTXf/zc33/85OeD/Ojrg/zs74P89PeD/Pj7h/0BA + 4f9CQuH/Q0Ph/0RE4f9GRuL/SEji/0lJ4v9KSuL/TEzj/01N4/9OTuP/UFDj/1JS5P9TU+T/VFTk/1ZW + 5f9TU63/TE1Y/0xMTv9MTFD/TExP/0xMT/9MTE//TExQ/0xMUP9MTFD/TExP/0xMUP9MTFD/TExP/0xM + T/9MTFD/TExQ/0xMT/9MTE//TExQ/0xMUP9MTFD/TExP/0xMUP9MTVD/TExQ/0xMT/9MTFD/TExQ/0xM + T/9MTFD/TE1Q/0xMUP9MTFD/TExP/0tMT/9MTFD/TE1Q/0xMUP9MTE//TExP/0xMT/9MTVD/TE1Q/0xM + UP9MTFD/TExP/0xMUP9MTE//TExQ/0xMUP9MTFD/TExQ/0tMT/9MTE//TExP/0xMT/9MTFD/TExQ/0xM + UP9MTE//TExQ/0xMUP9MTFD/TExQ/0xNUP9MTFD/TExP/0xMT/9MTE//TExQ/0xMUP9MTE//TExQ/0xN + UP9MTFD/S0xP/0xMUP9MTFD/TExQ/0xMT/9MTE//TExQ/0xMUP9MTE//S0xP/0xMUP9MTFD/TExQ/0xN + UP9MTFD/TExP/0xMUP9MTVD/TExP/0xMT/9MTVD/TExQ/0tMT/9MTE//TExP/0xMT/9MTE//TExP/0xM + T/9MTE//TExP/0xMUP9MTE//TExP/0xMT/9MTVD/TExQ/0xMUP9MTE//TE1Q/1BRkv9VVeH/VFTk/1NT + 5P9RUeP/UFDj/05O4/9NTeP/S0vj/0lJ4v9ISOL/R0fi/0VF4v9EROH/QkLh/0FB4f8/P+H/Pj7g/zw8 + 4P87O+D/OTng/zg43/82Nt//NTXf/zQ03/8yMt//MDDe/zAw3v8vL97/LS3e/yws3v8rK93/KSnd/ygo + 3f8mJt3/JSXd/yQk3P8jI9z/IiLcsCQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8tLd7/Ly/e/zAw + 3v8zM9//R0fi/1FR5P9SUuT/VFTk/1VV5P9WVuT/WFjl/1lZ5f9aWuX/XFzl/11d5f9eXub/X1/m/2Fh + 5v9iYub/Y2Pm/2Rk5/9lZef/Z2fn/2ho5/9paef/a2vo/2xs6P9tbej/bm7o/3Bw6v9jZLD/T09Z/0xN + T/9MTVD/TE1Q/0xNUP9MTVD/TE1Q/01NUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xN + UP9MTVD/TE1Q/01NUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9NTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xN + UP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TU1R/1xdlf9vb+X/bm7o/21t6P9ra+j/amrn/2lp + 5/9oaOf/Zmbn/2Vl5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d5f9cXOX/W1vl/1pa5f9ZWeX/V1fk/1ZW + 5P9UVOT/U1Pk/1JS5P9RUeP/S0vj/zU13/8wMN7/Li7e/y0t3v8rK97/Kird/ykp3f8nJ93/JSXd/yQk + 3P8jI9z/IiLcsCQk3P8mJt3/Jyfd/ygo3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx3v88POD/rKzy/+Tk + +//i4vr/4uL6/+Pj+//j4/v/4+P7/+Pj+//j4/v/5OT7/+Tk+//k5Pv/5OT7/+Xl+//l5fv/5eX7/+Xl + +//l5fv/5ub7/+bm+//m5vv/5ub7/+bm+//n5/v/5+f7/+jo/P+ur7z/Vldb/0xNUP9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01OUf9NTlH/TU5R/01O + Uf9NTlH/TU5R/01OUf9NTlH/Tk9S/5OTnv/k5Pj/5+f8/+fn+//m5vv/5ub7/+bm+//m5vv/5eX7/+Xl + +//l5fv/5eX7/+Xl+//k5Pv/5OT7/+Tk+//k5Pv/5OT7/+Pj+//j4/v/4+P7/+Pj+//i4vr/4uL6/+Li + +v/j4/v/ycn2/0tL4v8vL97/Ly/e/y4u3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yUl3f8kJNz/IyPcsCUl + 3f8nJ93/KCjd/ykp3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8+PuH/wcH1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////++vr//WFlc/01NUf9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05P + Uv9OT1L/T1BT/56eoP/7+/v///////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4uL6/1BQ + 4/8wMN7/MDDe/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/yYm3f8kJNz/IyPcsCYm3f8nJ93/KCjd/yoq + 3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8/P+H/wcH1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////++vr//WVld/05OUv9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09P + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09Q + U/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/T1BT/09QU/9PUFP/UFBU/56f + oP/7+/v///////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1BQ4/8xMd7/MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTcsCYm3f8oKN3/KSnd/ysr3f8sLN7/Li7e/y8v + 3v8xMd7/MjLf/zIy3/9AQOH/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //++vr//WVpd/05PU/9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQ + VP9QUVT/UFBU/1BQVP9QUFT/T1BU/1BQVP9QUFT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQ + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUVT/UFFU/1BR + VP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BRVP9QUFT/UFBU/1BQ + VP9QUFT/UFBU/1BQVP9QUVT/UFBU/1BRVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BR + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BRVP9QUFT/UFBU/1BQVP9QUVT/UFBU/1BQ + VP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUVT/UFFU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFFU/1BR + VP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UFBU/1BQVP9QUFT/UVFV/5+fof/7+/v///////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4uL6/1FR5P8yMt//MTHe/zAw3v8uLt7/LS3e/yws + 3v8qKt3/KSnd/ycn3f8mJt3/JSXdsCgo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zMz + 3/9AQOH/wsL1//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////CwsP/XFxf/09Q + U/9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UVFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9RUVX/UVFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UVFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BRVf9RUVX/UVFV/1FRVf9QUVX/UVFV/1BR + Vf9QUVX/UFFV/1BRVf9RUVX/UVFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9RUVX/UFFV/1BRVf9QUVX/UFFV/1FRVf9QUVX/UFFV/1BR + Vf9QUVX/UFFV/1BRVf9QUVX/UFFV/1BRVf9QUVX/UlNW/6Okpf/8/Pz///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4uL6/1JS5P8zM9//MjLf/zAw3v8vL97/Li7e/yws3v8rK93/KSnd/ygo + 3f8mJt3/JibdsCgo3f8pKd3/Kyve/yws3v8uLt7/Ly/e/zEx3v8yMt//MzPf/zQ03/9BQeH/wsL1//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////Nzc7/YWFl/09QVP9RUlb/UVJW/1FS + Vv9RUlb/UVJW/1FSVv9RUlX/UVJV/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FS + Vf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJW/1FSVv9RUlb/UVJW/1FS + Vv9RUlb/UVJW/1FSVf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJV/1FSVf9RUlX/UVJW/1FS + Vv9RUlX/UVJV/1FSVf9RUlb/UVJW/1FSVv9RUlb/UVJV/1FSVv9RUlb/UVJV/1FSVv9RUlb/UVJW/1FS + Vf9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FS + Vv9RUlb/UVJV/1FSVf9RUlX/UVJW/1FSVv9RUlb/UVJW/1FSVf9RUlX/UVJV/1FSVv9RUlX/UVJV/1FS + Vv9RUlb/UVJW/1FSVv9RUlb/UVJW/1FSVf9RUlb/UVJV/1FSVv9RUlb/UVJW/1FSVv9RUlX/UVJW/1FS + Vv9RUlb/UVJV/1FSVf9RUlX/VFVY/6+wsf////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4uL6/1JS5P80NN//MzPf/zEx3v8wMN7/Li7e/yws3v8rK97/Kird/ygo3f8nJ93/JibdsCkp + 3f8qKt3/LCze/y0t3v8uLt7/MDDe/zIy3/8zM9//NDTf/zU13/9CQuH/wsL1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////X19j/aGls/1BRVP9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTV/9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTV/9SU1f/UlNW/1JTV/9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNX/1JTVv9SU1b/UlNW/1JTV/9SU1b/UlNX/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JTVv9SU1b/UlNW/1JT + Vv9SU1b/UlNW/1JTVv9SU1f/UlNX/1JTV/9SU1f/UlNW/1JTVv9SU1b/UlNX/1JTV/9SU1f/UlNW/1JT + Vv9SU1b/WFhc/7y9vv////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4uL6/1NT + 5P81Nd//NDTf/zIy3/8xMd7/Ly/e/y0t3v8sLN7/Kyvd/ykp3f8oKN3/JibdsCkp3f8rK93/LCze/y4u + 3v8vL97/MTHe/zIy3/80NN//Njbf/zY23/9DQ+H/wsL1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////g4OH/cXJ1/1FSVf9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NU + V/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9TVFf/U1RX/1NUV/9SU1f/Xl9i/8nJ + yv////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1RU5P81Nd//NDTf/zMz + 3/8yMt//MDDe/y4u3v8tLd7/LCze/yoq3f8oKN3/JyfdsCoq3f8rK97/LS3e/y8v3v8wMN7/MTHe/zMz + 3/81Nd//Njbf/zc33/9DQ+H/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///u7u//g4SG/1JTV/9UVFj/VFRY/1RUWP9UVVj/VFRY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RV + WP9UVVj/VFVY/1RUWP9UVFj/VFRY/1RVWP9UVVj/VFRY/1RVWP9UVVj/VFRY/1RUWP9UVFj/VFVY/1RU + WP9UVVj/VFVY/1RUWP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RUWP9UVFj/VFVY/1RU + WP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVFj/VFVY/1RUWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RV + WP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVVj/VFRY/1RU + WP9UVFj/VFRY/1RVWP9UVFj/VFVY/1RVWP9UVFj/VFRY/1RUWP9UVFj/VFRY/1RUWP9UVVj/VFRY/1RU + WP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RVWP9UVVj/VFVY/1RVWP9UVVj/VFVY/1RVWP9UVFj/VFRY/1RU + WP9UVFj/VFVY/1RVWP9UVVj/VFRY/1RVWP9UVVj/VFVY/1RVWP9TVFf/amtu/93d3v////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P6/1RU5P81Nd//NTXf/zQ03/8yMt//MTHe/y8v + 3v8uLt7/LCze/ysr3f8pKd3/KCjdsCsr3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zQ03/81Nd//Nzff/zc3 + 3/9EROH/w8P1//////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////8/Pz/p6ep/1ZX + W/9UVVn/VVVZ/1RVWf9UVVn/VVVZ/1VVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1VVWf9VVVn/VVVZ/1VV + Wf9UVVn/VFVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1RVWf9VVVn/VVVZ/1RV + Wf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9VVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1RV + Wf9UVVn/VVVZ/1VVWf9UVVn/VFVZ/1RVWf9UVVn/VVVZ/1RVWf9UVVn/VFVZ/1VVWf9VVVn/VVVZ/1VV + Wf9VVVn/VFVZ/1RVWf9UVVn/VFVZ/1RVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1RVWf9UVVn/VFVZ/1VV + Wf9VVVn/VFVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VFVZ/1VVWf9UVVn/VFVZ/1RVWf9VVVn/VVVZ/1RV + Wf9UVVn/VVVZ/1VVWf9VVVn/VVVZ/1RVWf9UVVn/VVVZ/1VVWf9VVVn/VFVZ/1VVWf9UVVn/VFVZ/1RV + Wf9UVVn/VFVZ/1RVWf9VVln/VVVZ/1VVWf9TVFj/iYmM//Pz8/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1VV5P83N9//Njbf/zU13/8zM9//MTHe/zAw3v8uLt7/LS3e/ysr + 3v8qKt3/KSndsCsr3v8tLd7/Li7e/zAw3v8yMt//MzPf/zQ03/82Nt//ODjf/zg44P9FReL/w8P2//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////zc7P/2JjZ/9VVVn/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VWWv9VVlr/VVZa/1VW + Wv9VVlr/VVZa/1VWWf9YWV3/sLCy//z8/P////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1ZW5P83N9//Nzff/zU13/80NN//MjLf/zAw3v8vL97/LS3e/yws3v8qKt3/KSndsCws + 3v8uLt7/Ly/e/zEx3v8yMt//NDTf/zY23/83N9//ODjg/zk54P9FReL/w8P2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////7Ozs/31+gf9VVVn/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZX + W/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1ZXW/9WV1v/Vldb/1RV + Wf9qa27/1dXW//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1ZW + 5P84OOD/ODjf/zY23/80NN//MzPf/zEx3v8vL97/Li7e/y0t3v8rK93/KirdsC0t3v8uLt7/MDDe/zEx + 3v8zM9//NDTf/zY23/84ON//OTng/zo64P9GRuL/w8P2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////Pz8/7S0tv9dXmL/Vldb/1dYXP9XWFz/V1hc/1dYXP9XWFv/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYW/9XWFz/V1hc/1dYW/9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hb/1dYW/9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hb/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFv/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dY + XP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1db/1dYXP+YmJv/8/P0//// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1dX5P85OeD/ODjg/zc3 + 3/81Nd//MzPf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/KyvdsC0t3v8vL97/MDDe/zIy3/8zM9//NTXf/zc3 + 3/84OOD/Ojrg/zo64P9HR+L/xMT2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn5/+Cg4b/Vldb/1hYXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWV3/WFlc/1hYXP9YWFz/WFld/1hZXP9YWVz/WFld/1hZXf9YWVz/WFlc/1hZXf9YWV3/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWFz/WFlc/1hZXP9YWV3/WFld/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWV3/WFlc/1hZXP9YWV3/WFld/1hZXP9YWVz/WFlc/1hZXf9YWV3/WFlc/1hZXP9YWFz/WFlc/1hY + XP9YWFz/WFlc/1hZXf9YWVz/WFhc/1hZXf9YWV3/WFlc/1hZXP9YWFz/WFlc/1hZXP9YWVz/WFlc/1hZ + XP9YWFz/WFlc/1hZXP9YWVz/WFlc/1hYXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFlc/1hZ + Xf9YWV3/WFlc/1hZXP9YWVz/WFlc/1hZXP9YWVz/WFhc/1hZXP9YWVz/WFlc/1hZXP9YWV3/WFlc/1hZ + XP9YWVz/WFlc/1hZXP9YWV3/WFlc/1hZXP9YWV3/Vldb/25ucv/S0tP///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1hY5f85OeD/OTng/zc33/82Nt//NDTf/zIy + 3/8xMd7/Ly/e/y4u3v8sLN7/KyvesC4u3v8wMN7/MTHe/zIy3/80NN//Njbf/zc33/85OeD/Ojrg/zs7 + 4P9HR+L/xMT2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////39 + /f+9vb//Y2Rn/1dYXP9ZWV3/WVld/1hZXf9YWV3/WVld/1lZXf9ZWV3/WFld/1hZXf9ZWl3/WVld/1lZ + Xf9ZWl3/WVld/1lZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1lZXf9YWV3/WFld/1lZXf9YWV3/WFld/1lZ + Xf9YWV3/WFld/1hZXf9YWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1hZXf9YWV3/WFld/1lZ + Xf9ZWV3/WVpd/1lZXf9YWV3/WFld/1hZXf9YWV3/WVld/1lZXf9YWV3/WFld/1hZXf9YWV3/WFld/1lZ + Xf9YWV3/WFld/1hZXf9ZWV3/WVld/1lZXf9YWV3/WVld/1lZXf9ZWV3/WFld/1hZXf9YWV3/WVld/1lZ + Xf9ZWV3/WVld/1lZXf9YWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9YWV3/WFld/1hZXf9ZWV3/WFld/1hZ + Xf9YWV3/WFld/1lZXf9ZWV3/WFld/1hZXf9ZWV3/WVld/1hZXf9ZWV3/WFld/1hZXf9ZWV3/WVld/1hZ + Xf9ZWV3/WVld/1hZXf9YWV3/Wltf/6GipP/39/f///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1hY5f86OuD/OTng/zg43/83N9//NTXf/zMz3/8xMd7/MDDe/y8v + 3v8tLd7/LCzesC4u3v8wMN7/MTHe/zMz3/81Nd//Njbf/zg44P86OuD/Ozvg/zw84P9ISOL/xMT2//// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////w8PH/m5ud/1xd + YP9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1laXv9ZWl7/WVpe/1la + Xv9ZWl7/goOG/+Lj4/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1lZ5f87O+D/Ojrg/zg44P83N9//NTXf/zQ03/8yMt//MTHe/y8v3v8tLd7/LCzesC8v + 3v8wMN7/MjLf/zQ03/81Nd//Nzff/zg44P86OuD/PDzg/z094P9JSeL/xMT2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eXm/4mJjP9bW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pb + X/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1laXv92d3r/0dHS//7+ + /v////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1lZ + 5f87O+D/Ozvg/zk54P83N9//Njbf/zQ03/8zM9//MTHe/zAw3v8uLt7/LS3esDAw3v8xMd7/MjLf/zQ0 + 3/82Nt//Nzff/zk54P87O+D/PT3g/z094P9JSeL/xMT2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9fX2P99foH/Wltf/1pbX/9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tc + YP9bXGD/W1xg/1tcYP9bXGD/W1xg/1tcYP9bW1//WVpe/21ucv/BwsP/+/v8//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1pa5f88POD/PDzg/zo6 + 4P84OOD/Nzff/zU13/8zM9//MjLf/zAw3v8vL97/Li7esDAw3v8xMd7/MzPf/zU13/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z4+4P9KSuL/xcX2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////39/f/V1db/hoeK/11eYv9bXGD/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXGH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XFxh/1xd + Yf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xdYf9cXWH/XF1h/1xd + Yf9cXWH/XF1h/1tcYP9bXGD/dnZ6/8PDxP/4+fn///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/1pa5f89PeD/PDzg/zo64P85OeD/Nzff/zU1 + 3/80NN//MjLf/zAw3v8vL97/Li7esDEx3v8yMt//MzPf/zU13/83N9//ODjg/zo64P88POD/Pj7g/z4+ + 4f9KSuL/xcX2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7/4eLi/5WWmf9jZGj/W1xg/1xdYf9dXWL/XV1i/11eYv9dXWL/XF1i/11d + Yv9dXmL/XV1i/1xdYv9cXWL/XV1i/11dYv9dXWL/XF1i/11dYv9dXWL/XF1h/1xdYv9cXWL/XV1i/11e + Yv9dXWL/XV1i/11dYv9cXWL/XF1i/11dYv9dXWL/XV1i/11dYv9dXWL/XF1i/11dYv9cXWL/XF1i/1xd + Yf9dXWL/XV1i/11dYv9cXWL/XF1i/1xdYv9cXWL/XV1i/11dYv9cXWL/XF1i/11dYv9dXWL/XV1i/1xd + Yv9cXWL/XV1i/1xdYv9dXWL/XV1i/1xdYv9dXmL/XV5i/11eYv9dXWL/XV1i/1xdYv9cXWL/XV1i/11d + Yv9dXmL/XV1i/11dYv9dXWL/XV1i/1xdYv9dXWL/XV1i/1xdYv9cXWL/XF1i/1xdYv9dXWL/XF1i/11d + Yv9dXWL/XV1i/11dYv9dXWL/XF1i/1xdYv9cXWL/XV1i/11dYv9cXWL/XF1i/11dYv9cXWL/XF1h/15f + Y/+EhYj/0dHS//z8/P////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1tb5f89PeD/PT3g/zs74P85OeD/Nzff/zY23/80NN//MjLf/zEx + 3v8vL97/Li7esDEx3v8zM9//NDTf/zY23/83N9//OTng/zs74P89PeD/Pz/h/z8/4f9LS+P/xcX2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+zs7P+vr7H/dHR4/15fY/9cXWH/XV5i/11eY/9dXmL/XV5i/11eYv9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5i/11eYv9dXmL/XV5j/11eY/9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eYv9dXmL/XV5j/11eY/9dXmP/XV5j/11eY/9dXmL/XV5i/11eYv9dXmP/XV5i/11e + Yv9dXmP/XV5i/11eYv9dXmL/XV5i/11eYv9dXmP/XV5i/11eYv9dXmP/XV5i/11eYv9dXmL/XV5i/11e + Y/9dXmP/XV5j/11eY/9dXmP/XV5j/11eY/9dXmL/XV5j/11eY/9dXmL/XV5i/11eY/9dXmL/XV5i/11e + Yv9dXmL/XV5i/11eY/9dXmP/XV5i/11eYv9dXmL/XV5i/11eY/9dXmL/XV5i/11eY/9dXmL/XV5i/11e + Yv9dXmP/XV5i/11eYv9dXmL/XV5i/11eY/9dXmL/XV5i/1xdYf9dXmL/amtv/56eof/g4OH//f39//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1tb5f8+PuD/Pj7g/zw84P86OuD/ODjg/zY23/81Nd//MzPf/zIy3/8wMN7/Ly/esDIy + 3/8zM9//NTXf/zY23/84OOD/Ojrg/zw84P89PeD/Pz/h/z8/4f9MTOP/xcX2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///6+vr/2NjZ/5+gov91dnn/YmNn/1xdYf9cXWL/XV5j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fZP9eX2T/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9k/15fY/9eX2T/Xl9k/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9k/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2T/Xl9j/15fY/9eX2P/Xl9j/15fZP9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15f + Y/9eX2P/Xl5j/11eYv9cXWH/X2Bk/25vc/+Tk5b/ysrM//X19f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1xc + 5f8+PuH/Pj7g/zw84P87O+D/OTng/zc33/81Nd//NDTf/zIy3/8xMd7/MDDesDIy3/8zM9//NTXf/zc3 + 3/85OeD/Ojrg/zw84P8+PuD/Pz/h/0BA4f9MTOP/xcX2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////b2 + 9//Z2dr/sbK0/42Okf91dnr/Z2hs/2JjZ/9fYGX/Xl9j/11eY/9dXmP/XV5i/11eYv9dXmP/XV5j/11e + Yv9dXmP/XV5j/11eY/9dXmL/XV5i/11eY/9dXmP/XV5j/11eY/9dXmL/XV5i/11eY/9dXmP/XV5j/11e + Y/9dXmP/XV5i/11eY/9dXmL/XV5i/11eYv9dXmP/XV5j/11eY/9eX2P/Xl9j/15fY/9eX2T/Xl9k/15f + ZP9fX2T/X2Bk/19fZP9eX2T/Xl9k/15fZP9eX2P/Xl9j/15fY/9dXmP/XV5j/11eY/9dXmP/XV5j/11e + Y/9dXmP/XV5j/11eYv9dXmL/XV5j/11eY/9dXmP/XV5j/11eY/9dXmP/XV5j/11eY/9dXmP/XV5j/11e + Yv9dXmP/XV5j/11eY/9dXmP/XV5j/11eYv9dXmP/XV5j/11eY/9dXmL/Xl9j/19gZP9hYmb/ZWZq/3Fx + df+Gh4r/p6eq/8/Q0f/x8fH//v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/11d5f8/P+H/Pj7h/z09 + 4P87O+D/OTng/zc33/82Nt//NDTf/zMz3/8xMd7/MDDesDMz3/80NN//Njbf/zc33/85OeD/Ozvg/zw8 + 4P8+PuD/QEDh/0FB4f9NTeP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz8/+7v + 7//d3d7/ycnL/7a2uP+pqqz/o6Om/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKGk/6GipP+hoqT/oKCj/52eoP+YmZz/kpKW/4iJjf9/gIT/enuA/3Z3e/9xcnf/bm90/3Bx + dv90dXr/eXp//35/g/+Gh4r/kJCU/5eXmv+cnaD/n6Ci/6GipP+hoqT/oaGk/6Cho/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cg + o/+goKP/oKCj/6Cgo/+goKP/oKCj/6Cgo/+goKP/oqKl/6eoqv+ys7X/xMTG/9jY2f/q6+v/+fn5//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/11d5f9AQOH/Pz/h/z094P88POD/Ojrg/zg4 + 4P82Nt//NTXf/zMz3/8xMd7/MTHesDMz3/81Nd//Njbf/zg44P86OuD/Ozvg/z094P8/P+H/QEDh/0FB + 4f9OTuP/xsb2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////39 + /f/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//5+fr/8/Pz/+jo + 6f/Y2dv/w8TH/7Gytv+jpKj/lZab/4qLkP+Ehov/goOJ/3+Ahv99foT/e3yC/3x9g/9/gIb/gYKI/4SF + iv+IiY//kZKX/5+gpf+urrL/vr/C/9TU1v/l5eb/8PDx//j4+P/7+/v/+/v7//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//v7+//8/Pz///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/11d5f9AQOH/Pz/h/z4+4P88POD/Ozvg/zk54P83N9//NTXf/zQ0 + 3/8yMt//MTHesDMz3/81Nd//Nzff/zg44P86OuD/PDzg/z4+4P9AQOH/QUHh/0JC4f9NTeP/xsb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+Pj4/+Pj5P/IyMv/sLC0/5qan/+IiY//fn+F/3p7 + gf94eX//d3h+/3d4fv92d33/dnd9/3Z3fP91d3z/dnd8/3V3fP92d33/dnd9/3Z3ff93eH7/d3h+/3h5 + f/95eoD/fX6E/4WGjP+Vlpv/qqqv/8LCxf/c3N7/8/T0//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/15e5v9BQeH/QEDh/z4+4f89PeD/Ozvg/zk54P84ON//Njbf/zQ03/8yMt//MjLfsDQ0 + 3/81Nd//Nzff/zk54P87O+D/PDzg/z4+4P9AQOH/QUHh/0JC4f9OTuP/xsb2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/+zs7f/OztH/rK2x/5CRlv+AgYf/eXqA/3Z3ff92d33/dXZ8/3R1e/9zdHr/cnR5/3Jz + eP9xcnj/cXJ3/3Bxd/9wcXf/cHF2/3Bxdv9wcXf/cXJ3/3Fyd/9xc3j/cnN5/3N0ev90dXv/dXZ8/3Z3 + fP92d33/eHl//31/hf+LjJH/pKSp/8bGyf/l5uf/+fn5//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/15e + 5v9BQeH/QEDh/z8/4f89PeD/Ozvg/zk54P84ON//Njbf/zQ03/8zM9//MjLfsDQ03/82Nt//ODjf/zk5 + 4P87O+D/PT3g/z4+4f9AQOH/QkLh/0ND4f9PT+P/xsb2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////r6+v/k5Ob/vb7B/5aW + nP+Bgoj/eXqA/3Z3ff91dnz/dHV7/3Jzef9xcnj/cHF2/29wdf9ub3T/bW5z/2xtc/9sbXL/a2xy/2ts + cf9rbHH/a2xx/2tscf9rbHH/a2xx/2xtcv9sbXP/bW5z/25vdP9vcHX/cHF2/3Fyd/9yc3n/c3V6/3V2 + e/92d33/eHl//35/hf+PkJX/srK2/9zd3v/29vf///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/ + 4f8+PuD/PDzg/zo64P84OOD/Nzff/zU13/8zM9//MjLfsDU13/82Nt//ODjg/zo64P87O+D/PT3g/z8/ + 4f9AQOH/QkLh/0ND4f9PT+P/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////7+/v/4uLk/7m6vf+TlJn/fX6E/3d5f/92d33/dHV7/3Jz + ef9wcXf/b3B1/21udP9sbXL/a2xx/2prcP9pam//aGlu/2hpbv9naG3/Z2ht/2ZnbP9mZ2z/Zmds/2Zn + bP9mZ2z/Z2hs/2dobf9oaW7/aGlu/2lqb/9qa3D/a2xx/2xtcv9tbnP/b3B1/3Bxd/9yc3j/dHV6/3V3 + fP93eH7/enyC/4uMkv+vsLT/2Nnb//f39/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/4f8+PuD/PDzg/zo6 + 4P85OeD/Nzff/zY23/80NN//MjLfsDU13/83N9//ODjg/zo64P88POD/Pj7g/z8/4f9BQeH/Q0Ph/0RE + 4f9QUOP/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/+3t7v+/wMP/kpOY/3x9g/93eH7/dXZ8/3N0ev9xcnj/b3B2/21uc/9sbXL/amtw/2lq + b/9oaW3/Z2ds/2Zma/9lZmr/ZGVq/2Nkaf9jZGj/YmNo/2JjaP9iY2f/YmNn/2JjZ/9iY2j/YmNo/2Nk + aP9jZGn/ZGVp/2Rlav9lZmv/Zmds/2dobf9oaW7/amtw/2tscv9tbnP/b3B1/3Fyd/9zdHn/dXZ8/3Z3 + ff96e4H/iouQ/7Kzt//k5Ob//Pz8//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/2Bg5v9DQ+H/QkLh/0BA4f8+PuH/PT3g/zs74P85OeD/Nzff/zY2 + 3/80NN//MzPfsDU13/83N9//OTng/zo64P88POD/Pj7g/0BA4f9BQeH/Q0Ph/0RE4f9QUOP/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////29vb/0tLU/52e + ov9/gIb/d3h+/3V2fP9zdHr/cXJ3/25vdf9sbXP/a2xx/2lqb/9naG3/Zmdr/2Rlav9jZGn/YmNo/2Fi + Z/9gYWb/YGFl/19gZP9fYGT/Xl9j/15fY/9eX2P/Xl9j/15fY/9eX2P/Xl9j/15fZP9fYGT/YGFl/2Bh + Zv9hYmb/YmNn/2NkaP9kZWr/ZWZr/2dobP9oaW7/amtw/2xtcv9ub3T/cHF2/3Jzef90dXv/dnd9/3t8 + gv+TlJn/xMXH//Dw8f/+/v7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Bg5v9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw84P86OuD/ODjf/zY23/80NN//MzPfsDY2 + 3/83N9//OTng/zs74P88POD/Pj7h/0BA4f9CQuH/Q0Ph/0RE4f9QUOP/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+jp6v+ztLf/h4iO/3h6gP92d33/c3R6/3Fy + d/9ub3X/bG1y/2prcP9oaW7/Zmds/2Rlav9jZGj/YmNn/2BhZv9fYGT/Xl9j/11eYv9dXmL/XF1h/1tc + YP9bXGD/W1tf/1pbX/9aW1//Wltf/1pbX/9aW1//Wltf/1tcYP9bXGD/XF1h/1xdYv9dXmL/Xl9j/19g + ZP9gYWX/YWJn/2JjaP9kZWr/Zmds/2dobf9pam//a2xx/25vdP9wcXb/c3R5/3V2fP94eX//gYKI/6Wm + q//d3d///Pz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Bg + 5v9DQ+H/Q0Ph/0FB4f8/P+H/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/84ON//OTng/zs7 + 4P89PeD/Pz/h/0BA4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////7+/v/2trc/56eo/99foT/dnd9/3R1e/9xcnj/b3B1/2xtcv9qa3D/aGlu/2Zn + a/9kZWn/YmNo/2BhZv9fYGT/Xl9j/11dYv9cXGH/Wltf/1pbXv9ZWl7/WVld/1hZXf9XWFz/V1hc/1dY + W/9XWFv/Vldb/1ZXW/9XWFv/V1hc/1dYXP9YWVz/WFld/1laXv9ZWl7/Wltf/1tcYP9cXWH/Xl5j/19g + ZP9gYWb/YmNn/2Nkaf9lZmv/Z2ht/2lqb/9sbXL/bm90/3Fyd/90dXr/dnd9/3p7gf+Sk5j/y8vO//f3 + +P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Fh5v9EROH/Q0Ph/0FB + 4f8/P+H/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/84ON//OTng/zw84P89PeD/Pz/h/0FB + 4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////X1 + 9v/Fxsn/jo+U/3h6gP91dnz/c3R5/3Bxdv9tbnP/amtw/2hpbv9mZ2z/ZGVp/2JjZ/9gYWX/Xl9j/11e + Yv9cXGH/Wltf/1laXv9YWV3/V1hc/1ZXW/9WV1r/VVZa/1VWWf9UVVn/VFVY/1RUWP9TVFj/U1RY/1NU + WP9UVFj/VFVY/1RVWf9UVVn/VVZZ/1ZWWv9WV1v/V1hc/1hZXf9ZWl7/Wltf/1tcYP9cXWH/Xl9j/2Bh + Zf9hYmf/Y2Rp/2Vma/9naG3/amtw/2xtcv9vcHX/cnN5/3V2fP93eX//hIaL/7a3uv/t7e7///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Fh5v9EROH/Q0Ph/0JC4f9AQOH/Pj7h/zw8 + 4P86OuD/OTng/zc33/81Nd//NTXfsDY23/84OOD/Ojrg/zw84P8+PuD/Pz/h/0FB4f9DQ+H/RUXi/0VF + 4v9RUeT/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8vLz/7m5vf+EhYv/d3l//3V2 + e/9xcnj/bm91/2xtcv9pam//Zmds/2Rlav9iY2f/YGFl/15fY/9cXWH/W1xg/1laXv9YWV3/V1hc/1ZX + W/9VVln/VFVZ/1NUWP9TU1f/UlNW/1JSVv9RUlX/UVJV/1FRVf9RUVX/UVFV/1FRVf9RUlX/UVJV/1FS + Vf9SUlb/UlNW/1NTV/9TVFj/VFVY/1VWWf9WV1r/V1hb/1hZXf9ZWl7/Wltf/1xdYf9eX2P/X2Bl/2Fi + Z/9jZGn/Zmdr/2hpbv9rbHH/bm90/3Fyd/90dXv/d3h+/35/hf+pqa7/5+jp//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Fh5v9EROH/RETh/0JC4f9AQOH/Pj7h/z094P87O+D/OTng/zc3 + 3/82Nt//NTXfsDc33/85OeD/Ojrg/zw84P8+PuD/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9RUeT/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////v7/D/s7O3/4CCh/93eH7/dHV7/3Fyd/9tbnT/amtx/2hp + bv9lZmv/Y2Ro/2BhZv9eX2T/XF1i/1tcYP9ZWl7/WFlc/1ZXW/9VVlr/VFVZ/1NUV/9SU1b/UVJW/1FR + Vf9QUVT/T1BT/09QU/9OT1P/Tk9S/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9S/05PU/9PUFP/T1BT/1BR + VP9QUVX/UVJV/1JTVv9TU1f/VFRY/1VWWf9WV1v/V1hc/1laXv9aW1//XF1h/15fY/9gYWX/YmNo/2Rl + av9naG3/amtw/21uc/9wcXb/c3R6/3Z3ff98fYP/oaKn/+Tk5v/+/v7///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9FReL/RETh/0JC4f9AQOH/Pz/h/z094P87O+D/OTng/zc33/82Nt//NTXfsDc3 + 3/85OeD/Ojrg/zw84P8+PuD/Pz/h/0FB4f9DQ+H/RUXi/0ZG4v9SUuT/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+zs7f+rrLD/fn+F/3Z3ff9zdHr/cHF2/21uc/9pa3D/Z2hs/2Rlaf9hYmf/X2Bk/11e + Yv9bXGD/WVpe/1hYXP9WV1v/VVZZ/1NUWP9SU1f/UVJW/1BRVP9PUFP/T09T/05PUv9NTlH/TU5R/0xN + UP9MTVD/TE1Q/0xMT/9MTE//S0xP/0xMT/9MTE//TE1Q/0xNUP9MTVD/TU1R/01OUf9OT1L/Tk9T/09Q + U/9QUVT/UVJV/1JTVv9TVFf/VFVZ/1ZXWv9XWFz/WVpe/1tcYP9dXWL/X19k/2FiZv9jZGn/Zmds/2lq + b/9sbXL/b3B1/3Jzef92d33/enuB/5ucof/f3+H//v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Ji + 5v9FReL/RETh/0JC4f9BQeH/Pz/h/z094P87O+D/Ojrg/zg44P82Nt//NTXfsDc33/85OeD/Ozvg/z09 + 4P8+PuH/QEDh/0JC4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////7/Dw/6yt + sf99f4X/dnd9/3N0ev9vcHb/bG1y/2lqb/9mZ2z/Y2Rp/2BhZv9eX2P/XF1h/1pbX/9YWV3/Vldb/1VW + Wf9TVFj/UlNW/1FSVf9QUVT/T09T/05OUv9NTlH/TE1Q/0xMUP9LTE//S0tO/0pLTv9KS07/SkpN/0lK + Tf9JSk3/SUpN/0lKTf9JSk3/SkpN/0pLTv9KS07/SktO/0tMT/9LTE//TE1Q/01NUf9OTlL/Tk9T/09Q + U/9QUVX/UlJW/1NUV/9UVVn/Vldb/1hZXP9ZWl7/W1xg/15fY/9gYWX/YmNo/2Vma/9oaW7/a2xx/25v + df9yc3n/dXd8/3p7gf+cnaH/4uLk//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND + 4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/z094P8+PuH/QEDh/0JC + 4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////z8/T/tLW4/3+Ahv92d33/c3R6/29w + dv9sbXL/aGlu/2Vma/9jZGj/YGFl/11eYv9bXGD/WVpe/1dYXP9VVlr/VFVY/1JTV/9RUVX/T1BU/05P + Uv9NTlH/TE1Q/0tMT/9LTE//SktO/0lKTf9JSk3/SElM/0hJTP9ISUv/SEhL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/R0hL/0hIS/9ISUz/SElM/0lKTP9JSk3/SktO/0tLTv9LTE//TE1Q/01OUf9OT1L/T1BT/1BR + Vf9SU1b/U1RY/1VWWf9XV1v/WFld/1tbX/9dXmL/X2Bk/2JjZ/9lZmr/aGlt/2tscf9ub3X/cnN4/3Z3 + ff97fIL/oaKm/+np6v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND4f9BQeH/QEDh/z09 + 4P88POD/Ojrg/zg44P83N9//NTXfsDg44P86OuD/Ozvg/z094P8/P+H/QEDh/0JC4f9EROH/Rkbi/0dH + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////b29/+6u77/gYKI/3Z3ff9zdHn/b3B1/2tscv9oaW7/ZWZr/2Jj + aP9fYGX/XV5i/1pbX/9YWV3/Vldb/1RVWf9TU1f/UVJV/1BQVP9OT1L/TU5R/0xNUP9LTE//SktO/0lK + Tf9JSUz/SElM/0dIS/9HSEr/RkdK/0ZHSv9GR0n/RkZJ/0VGSf9FRkn/RUZJ/0ZGSf9FRkn/RkZJ/0ZH + Sf9GR0n/RkdK/0dISv9HSEv/SElM/0hJTP9JSk3/SktO/0tMT/9MTVD/TU5R/05PUv9PUFP/UVJV/1JT + V/9UVVj/Vlda/1hZXP9aW1//XF1h/19gZP9hYmf/ZGVq/2dobf9rbHH/bm90/3JzeP92d33/e3yC/6io + rf/t7e7///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Ji5v9FReL/RUXi/0ND4f9CQuH/QEDh/z4+4P88POD/Ojrg/zk5 + 4P83N9//NjbfsDg44P85OeD/Ozvg/z094P8/P+H/QUHh/0ND4f9EROH/Rkbi/0dH4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/8nJzP+Gh4z/d3h+/3N1ev9vcHb/bG1y/2hpbv9lZmv/YmNn/19gZP9cXWH/Wltf/1hY + XP9VVlr/VFVY/1JTVv9QUVX/T1BT/01OUf9MTVD/S0xP/0pLTv9JSk3/SElM/0dIS/9HR0r/RkdK/0ZG + Sf9FRkn/RUZI/0RFSP9ERUj/REVH/0RFR/9ERUf/REVH/0RER/9ERUf/REVH/0RFR/9ERUj/RUVI/0VG + Sf9GRkn/RkdK/0dHSv9HSEv/SElM/0lKTP9KS07/S0xP/0xNUP9NTlH/Tk9T/1BRVP9RUlb/U1RY/1VW + Wv9XWFz/WVpe/1xdYf9eX2P/YWJn/2Rlav9naG3/a2xx/25vdf9yc3n/dnd9/35/hf+1trn/9vb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//NjbfsDg4 + 4P86OuD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9TU+T/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d3f/5CR + lv94eX//dHV7/3Bxdv9sbXL/aGlu/2Vma/9iY2f/X2Bk/1xdYf9aW1//V1hc/1VWWv9TVFj/UVJW/1BQ + VP9OT1L/TU5R/0tMT/9KS07/SUpN/0hJTP9HSEv/R0dK/0ZGSf9FRkj/REVI/0RFR/9EREf/Q0RH/0NE + Rv9DQ0b/QkNG/0JDRv9CQ0X/QkNF/0JDRf9CQ0b/Q0NG/0NDRv9DREb/Q0RG/0RER/9ERUf/REVI/0VG + SP9GRkn/RkdK/0dIS/9ISUz/SUpN/0pLTv9LTE//TE1Q/05PUv9PUFP/UVJV/1NUV/9VVln/V1hb/1la + Xv9cXGH/Xl9k/2FiZ/9kZWr/aGlt/2tscf9vcHX/c3R6/3Z4fv+Fhoz/ycrN//39/f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9GRuL/Rkbi/0RE4f9CQuH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//NjbfsDg44P86OuD/PDzg/z09 + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0dH4v9TU+T/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////r6+z/oaKm/3l6gP91dnz/cXJ3/21u + c/9pam//ZWZr/2JjZ/9fYGT/XF1h/1paXv9XWFz/VVZZ/1NUV/9RUlX/T1BT/01OUf9MTVD/S0tO/0lK + Tf9JSUz/R0hL/0ZHSv9GRkn/RUZI/0RFSP9DREf/Q0RG/0NDRv9CQ0X/QkNF/0JCRf9BQkT/QUJE/0FC + RP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FCRP9BQkX/QkJF/0JDRf9CQ0b/Q0RG/0RER/9ERUf/RUVI/0VG + Sf9GR0r/R0hL/0hJTP9JSk3/SktO/0xMUP9NTlH/T1BT/1BRVf9SU1f/VFVZ/1dXW/9ZWl7/XFxh/15f + ZP9hYmf/ZGVq/2hpbv9sbXL/cHF2/3R1e/94eX//kJGW/93d3/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE + 4f9CQuH/QUHh/z8/4f89PeD/Ozvg/zk54P83N9//NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND + 4f9FReL/R0fi/0dH4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////j4+P+4uLz/fn+F/3Z3ff9yc3j/bm90/2prcP9mZ2z/YmNo/19g + Zf9cXWH/Wltf/1dYXP9VVln/U1NX/1FSVf9PUFP/TU5R/0xMUP9KS07/SUpN/0hJS/9HSEr/RkdJ/0VG + SP9ERUj/Q0RH/0NDRv9CQ0X/QkJF/0FCRP9BQkT/QUFE/0BBRP9AQUP/QEFD/0BAQ/9AQEP/QEBD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUP/QUFE/0FCRP9BQkT/QkJF/0JDRv9DQ0b/Q0RH/0RFR/9FRUj/RkZJ/0dH + Sv9ISEv/SUlM/0pLTv9LTE//TU5R/05PU/9QUVT/UlNX/1RVWf9XV1v/WVpe/1xdYf9fYGT/YmNn/2Vm + a/9pam//bG1z/3Fyd/91dnz/eXqB/6Okqf/u7u////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/ + 4f89PeD/Ozvg/zk54P84ON//NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND4f9FReL/R0fi/0hI + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9fY2v+Ki5H/d3h+/3N0ev9vcHX/a2xx/2dobP9jZGn/YGFl/11eYv9aW1//V1hc/1VW + Wv9TVFf/UVJV/09QU/9NTlH/S0xP/0pLTv9JSUz/R0hL/0ZHSv9FRkn/REVI/0RER/9DQ0b/QkNF/0FC + Rf9BQkT/QUFE/0BBQ/9AQEP/QEBD/z9AQv8/QEL/P0BC/z8/Qv8/P0L/Pz9C/z8/Qv8/P0L/P0BC/z9A + Qv8/QEL/P0BC/0BBQ/9AQUP/QEFE/0FCRP9BQkX/QkNF/0NDRv9DREf/REVH/0VGSf9GR0n/R0hL/0hJ + TP9KSk3/S0xP/01NUf9OT1L/UFFU/1JTV/9UVVn/V1hb/1laXv9cXWH/X2Bk/2JjaP9mZ2z/amtw/25v + dP9yc3j/dnd9/4CBh//Dw8b/+/v8//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z4+4f89PeD/PDzg/zo6 + 4P83N9//NjbfsDk54P86OuD/PDzg/z4+4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8fHy/6Oj + qP95eoD/dXZ7/3Bxd/9sbXL/aGlu/2Rlav9hYmb/XV5j/1pbX/9YWV3/VVZa/1NUV/9RUlX/T1BT/01O + Uf9LTE//SktO/0hJTP9HSEv/RkdJ/0VGSP9ERUf/Q0RG/0JDRv9CQkX/QUJE/0BBQ/9AQUP/P0BD/z9A + Qv8/P0L/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj5B/z4+Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z8/ + Qv8/QEL/P0BC/0BAQ/9AQUP/QUJE/0FCRf9CQ0X/Q0RG/0RER/9FRUj/RkZJ/0dISv9ISUz/SUpN/0tM + T/9MTVD/Tk9S/1BRVP9SU1f/VVZZ/1dYXP9aW1//XV5i/2BhZf9jZGn/Z2ht/2tscf9vcHX/c3R6/3d4 + fv+Sk5j/4eHj//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z4+4P89PeD/Ozvg/zo64P83N9//NjbfsDk5 + 4P87O+D/PDzg/z4+4f9AQOH/QUHh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////8/Pz/xsbJ/4GCiP92d33/cnN4/21u + dP9pam//ZWZr/2JjZ/9eX2T/W1xg/1hZXf9WV1r/U1RY/1FSVf9PUFP/TU5R/0tMT/9KSk3/SElM/0dI + Sv9GRkn/RUVI/0RER/9DQ0b/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/Pj9B/z4/Qf8+P0H/Pj5A/z0+ + QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5A/z4+Qf8+P0H/Pj9B/z8/ + Qv8/QEL/QEBD/0BBQ/9BQkT/QkJF/0JDRv9DREf/REVI/0VGSf9HR0r/SElL/0lKTf9LTE//TU1R/05P + U/9QUVX/U1NX/1VWWv9YWVz/W1tf/15fY/9hYmb/ZGVq/2hpbv9sbXL/cXJ3/3V2fP97fIL/r7C0//b3 + 9/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z4+4f89PeD/Ozvg/zo64P83N9//NjbfsDk54P86OuD/PDzg/z4+ + 4f9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////o6er/mJid/3d4fv90dXr/b3B1/2tscf9naGz/Y2Ro/19g + Zf9cXWH/WVpe/1ZXW/9UVVj/UlJW/09QU/9NTlH/TExP/0pLTf9ISUz/R0hK/0ZGSf9ERUj/Q0RH/0JD + Rv9CQkX/QUJE/0BBQ/9AQEP/P0BC/z4/Qf8+P0H/Pj5A/z0+QP89PkD/PT5A/z09P/88PT//PD0//zw9 + P/88PT//PD0//zw9P/88PT//PD0//z09P/89PUD/PT5A/z0+QP89PkD/PT5A/z4/Qf8+P0H/Pz9C/z9A + Qv9AQUP/QUFE/0FCRf9CQ0X/Q0RG/0RFR/9FRkn/RkdK/0hJTP9JSk3/S0xP/01OUf9PUFP/UVJV/1NU + WP9WV1r/WFld/1tcYP9fYGT/YmNn/2Zna/9qa3D/bm90/3J0ef93eH7/iImO/9jY2v////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE + 4v9CQuH/QUHh/z8/4f89PeD/Ozvg/zo64P84OOD/NjbfsDk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0ND + 4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////z8/P/CwsX/f4CG/3V2fP9xcnj/bG5z/2hpbv9kZWr/YWJm/11eYv9aW1//V1hc/1RV + Wf9SU1b/UFFU/05PUv9MTVD/SktO/0hJTP9HSEr/RUZJ/0RFSP9DREf/QkNG/0FCRP9BQUT/QEFD/z9A + Qv8/P0L/Pj9B/z4+QP89PkD/PT5A/z09P/88PT//PD0//zw9P/88PT//PDw//zw8Pv88PD7/PDw+/zw8 + Pv88PD7/PDw+/zw8P/88PT//PD0//zw9P/89PT//PT5A/z0+QP8+PkD/Pj9B/z4/Qf8/QEL/QEBD/0BB + Q/9BQkT/QkNF/0NERv9ERUf/RUZJ/0ZHSv9ISUv/SUpN/0tMT/9NTlH/T1BT/1FSVv9UVVj/Vldb/1la + Xv9dXWL/YGFl/2Nkaf9naG3/a2xx/3Bxdv91dnv/eXuB/6ussP/29vb///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/R0fi/0RE4f9DQ+H/QUHh/z8/ + 4f89PeD/Ozvg/zo64P84OOD/NjbfsDk54P87O+D/PT3g/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI + 4v9UVOT/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+rq + 6/+Zmp//d3h+/3N0ev9vcHX/amtw/2ZnbP9iY2j/X2Bk/1tcYP9YWV3/VVZa/1NUV/9QUVX/Tk9S/0xN + UP9KS07/SUlM/0dIS/9GRkn/REVI/0NER/9CQ0X/QUJE/0BBQ/9AQEP/P0BC/z4/Qf8+P0H/PT5A/z0+ + QP89PT//PD0//zw9P/88PD//PDw+/zw8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zw8P/88PT//PD0//z09P/89PkD/PT5A/z4+Qf8+P0H/P0BC/0BAQ/9AQUP/QUJE/0JD + Rf9DREb/REVH/0VGSf9HR0r/SElM/0pLTv9MTFD/Tk5S/1BRVP9SU1b/VVVZ/1hYXP9bW2D/Xl9j/2Fi + Z/9lZmv/aWpv/25vdP9yc3n/dnd9/4qLkf/Z2dv///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/4f89PeD/PDzg/zo6 + 4P83N9//NjbfsDk54P87O+D/PT3g/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////f39/8bHyv+AgYf/dnd8/3Fy + eP9sbXP/aGlu/2Rlav9gYWb/XV5i/1paXv9XV1v/VFVY/1FSVv9PUFP/TU5R/0tMT/9JSk3/R0hL/0ZH + Sf9FRUj/Q0RH/0JDRf9BQkT/QEFD/0BAQ/8/QEL/Pj9B/z4+Qf89PkD/PT1A/zw9P/88PT//PDw+/zw8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/Ozw+/zs8 + Pv87PD7/PDw+/zw9P/88PT//PT0//z0+QP89PkD/Pj9B/z8/Qv8/QEL/QEFD/0FCRP9CQ0X/Q0RG/0RF + SP9GRkn/R0hL/0lKTP9KS07/TE1Q/05PU/9RUlX/U1RY/1ZXW/9ZWl7/XF1h/19gZf9jZGn/Z2ht/2ts + cf9wcXb/dHV7/3p7gf+wsbX/9/f3//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0VF4v9DQ+H/QUHh/z8/4f89PeD/Ozvg/zo64P84ON//NzffsDk5 + 4P86OuD/PDzg/z4+4P8/P+H/QkLh/0RE4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////8vLz/56fpP94eX//dHV6/29wdf9qa3D/Zmds/2Jj + aP9eX2T/W1xg/1hZXf9VVlr/UlNX/1BRVP9OTlL/TExP/0pKTf9ISUv/RkdK/0VGSP9EREf/QkNG/0FC + RP9AQUT/QEBD/z9AQv8+P0H/Pj5A/z0+QP89PT//PD0//zw8Pv88PD7/Ozw+/zs8Pv87PD7/Ozs9/zs7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozs9/zs7Pf87PD7/Ozw+/zs8 + Pv88PT//PD0//zw9P/89PkD/PT5A/z4/Qf8/P0L/P0BC/0BBQ/9BQkT/QkNF/0NER/9FRUj/RkdK/0hI + S/9JSk3/S0xP/01OUf9PUFP/UlJW/1RVWf9XWFz/Wltf/15fY/9hYmf/ZWZr/2lqb/9ub3T/cnR5/3Z3 + ff+Oj5T/4eLj//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Rk + 5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z8/4f89PeD/Ozvg/zo64P84OOD/NzffsDk54P86OuD/PDzg/z4+ + 4P9AQOH/QkLh/0ND4f9GRuL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////2dnb/4aHjf92d33/cnN4/21uc/9oaW7/ZGVq/2BhZv9dXmL/WVpe/1ZX + W/9UVFj/UVJV/09PU/9MTVD/SktO/0lJTP9HSEr/RUZJ/0RFR/9DQ0b/QkJF/0FBRP9AQEP/P0BC/z4/ + Qf89PkD/PT5A/z09P/88PT//PDw+/zs8Pv87PD7/Ozs+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zs8Pv87PD7/PDw+/zw9 + P/88PT//PT1A/z0+QP8+P0H/Pz9C/z9AQv9AQUP/QUJF/0JDRv9EREf/RUZI/0dHSv9ISUz/SktO/0xN + UP9OT1L/UFFU/1NUV/9WV1r/WVld/1xdYf9fYGX/Y2Rp/2dobf9sbXL/cHF3/3V2fP99foT/wsPG//39 + /f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE + 4f9DQ+H/QUHh/z8/4f89PeD/Ozvg/zo64P84ON//NjbfsDk54P87O+D/PDzg/z4+4P9AQOH/QkLh/0ND + 4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///7+/v/t7e7/3t8gv91dnv/cHF2/2tscf9naGz/Y2Ro/19gZP9bXGD/WFld/1VWWf9SU1f/UFBU/01O + Uf9LTE//SUpN/0dIS/9GR0n/REVI/0NERv9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+QP89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo7PP86Ozz/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zs8Pv88PT//PD0//z09 + QP89PkD/Pj9B/z9AQv9AQEP/QUFE/0JCRf9DQ0b/REVH/0ZGSf9HSEv/SUpN/0tMT/9NTlH/T1BT/1JT + Vv9UVVn/V1hc/1pbX/9eX2P/YWJn/2Zna/9qa3D/bm91/3N0ev94eX//oKGl//Pz9P////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9DQ+H/QUHh/z4+ + 4f89PeD/Ozvg/zk54P84ON//NzffsDk54P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI + 4v9UVOT/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////q6+z/mJmd/3d4 + fv9zdHr/bm90/2lqb/9lZmv/YWJm/11eYv9aW1//V1db/1RVWP9RUlX/Tk9T/0xNUP9KS07/SElM/0ZH + Sv9FRkj/RERH/0JDRf9BQkT/QEFD/z9AQv8+P0H/Pj5B/z0+QP89PT//PD0//zw8Pv87PD7/Ozw+/zs7 + Pf86Oz3/Ojs9/zo7Pf86Ozz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP85Ojz/Ojo8/zk6PP85Ojz/OTo8/zo6 + PP86Ojz/Ojo8/zo7Pf86Oz3/Ojs9/zo7Pf87Oz3/Ozs+/zs8Pv87PD7/PD0//zw9P/89PkD/PT5A/z4/ + Qf8/QEL/QEFD/0FCRP9CQ0X/Q0RH/0VGSP9GR0r/SElL/0pKTf9MTFD/Tk9S/1BRVf9TVFf/Vldb/1la + Xv9cXWH/YGFl/2Rlav9oaW7/bW5z/3JzeP92d33/h4iO/9rb3f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9DQ+H/QEDh/z8/4f89PeD/Ozvg/zo6 + 4P84ON//NzffsDk54P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////T1Nb/hYaM/3V2fP9xcnj/bG1y/2hp + bv9jZGn/YGBl/1xdYf9YWV3/VVZa/1JTV/9QUVT/TU5R/0tMT/9JSk3/SEhL/0ZGSf9ERUf/Q0RG/0JC + Rf9BQUT/QEBD/z8/Qv8+P0H/PT5A/z09P/88PT//PDw//zs8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6 + PP86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Ojz/Ojs9/zo7Pf86Oz3/Ozs9/zs7Pf87PD7/Ozw+/zw9P/88PT//PT5A/z4+Qf8+P0H/P0BC/0BB + Q/9BQkT/QkNG/0RFR/9FRkn/R0hL/0lJTP9LTE//TU5R/09QU/9SU1b/VVZZ/1hZXf9bXGD/X19k/2Jj + aP9naGz/a2xx/3Bxdv91dnz/fH2D/72+wf/9/f3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Nj5v9HR+L/Rkbi/0RE4f9CQuH/QEDh/z8/4f8+PuD/Ozvg/zo64P84ON//NjbfsDk5 + 4P86OuD/PDzg/z4+4P9AQOH/QkLh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////z8/P+8vcD/fH2D/3R1e/9wcXb/a2xx/2ZnbP9iY2f/Xl9j/1tb + X/9XWFz/VFVZ/1FSVv9PUFP/TE1Q/0pLTv9ISUz/R0dK/0VGSP9DREf/QkNG/0FCRP9AQUP/P0BC/z4/ + Qf89PkD/PT1A/zw9P/88PD7/Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PT1A/z0+QP8+P0H/Pz9C/0BBQ/9BQUT/QkNF/0NE + Rv9FRUj/RkdK/0hJTP9KS07/TE1Q/05PUv9RUlX/VFRY/1dXW/9aW1//XV5i/2FiZ/9lZmv/amtw/25v + df9zdHr/eHl//6Slqv/19fX///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Nj + 5v9GRuL/Rkbi/0RE4f9CQuH/QEDh/z8/4f89PeD/Ozvg/zo64P84OOD/NzffsDk54P86OuD/PDzg/z4+ + 4P8/P+H/QUHh/0ND4f9FReL/R0fi/0hI4v9UVOT/yMj2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Pz9P+kpan/d3h+/3N0ev9ub3T/aWpv/2Vma/9hYmb/XV5i/1laXv9WV1v/U1RY/1FR + Vf9OT1L/TExQ/0pKTf9ISEv/RkdJ/0RFSP9DREb/QkJF/0FBRP8/QEP/Pz9C/z4+Qf89PkD/PD0//zw8 + Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7 + Pf87Oz3/Ozs+/zs8Pv88PD//PD0//z0+QP8+PkD/Pj9B/z9AQv9AQUP/QUJF/0NDRv9ERUf/RUZJ/0dI + S/9JSk3/S0xP/01OUf9QUVT/U1NX/1VWWv9ZWV3/XF1h/2BhZf9kZWr/aGlu/21uc/9yc3n/dnd9/5GS + l//l5eb///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE + 4f9CQuH/QEDh/z4+4f88POD/Ozvg/zk54P84ON//NjbfsDg44P86OuD/PDzg/z4+4P8/P+H/QUHh/0ND + 4f9FReL/Rkbi/0dH4v9TU+T/yMj2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+bm + 5/+Rkpf/dnd9/3JzeP9tbnP/aGlu/2Rlav9gYWX/XF1h/1hZXf9VVlr/UlNX/1BQVP9NTlH/S0xP/0lK + Tf9HSEv/RUZJ/0RER/9CQ0b/QUJE/0BBQ/8/QEL/Pj9B/z0+QP89PUD/PD0//zw8Pv87PD7/Ozs9/zo7 + Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv87PD7/PD0//zw9P/89PkD/Pj9B/z9AQv9AQEP/QUJE/0JDRf9DREf/RUZI/0dHSv9ISUz/SktO/01N + Uf9PUFP/UlJW/1VVWf9YWVz/W1xg/19gZP9jZGj/Z2ht/2xtcv9xcnf/dXZ8/4SFiv/R0tT///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Nj5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+ + 4P88POD/Ojrg/zk54P83N9//NjbfsDg44P86OuD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH + 4v9TU+T/yMj2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////9TV1/+DhIr/dXd8/3Fy + d/9sbXL/Z2ht/2NkaP9fYGT/W1xg/1hZXP9UVVn/UlJW/09QU/9NTVD/SktO/0hJTP9GR0r/RUVI/0NE + Rv9CQ0X/QUFE/0BAQ/8/P0L/Pj9B/z0+QP88PT//PDw//zs8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTk7/zk6O/85Ojv/OTo7/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Oz3/Ojs9/zs7Pf87PD7/PDw+/zw9 + P/89PkD/Pj5B/z4/Qf8/QEL/QEFD/0JCRf9DREb/REVI/0ZHSf9ISUv/SktO/0xNUP9OT1L/UVJV/1RV + WP9XWFz/Wltf/15fY/9iY2f/Zmds/2tscf9vcXb/dHV7/3x9g/+8vcD//Pz8//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Nj5v9GRuL/RUXi/0RE4f9CQuH/Pz/h/z4+4P88POD/Ojrg/zk5 + 4P83N9//NjbfsDg43/86OuD/Ozvg/z094P8/P+H/QEDh/0JC4f9EROH/Rkbi/0dH4v9TU+T/yMj2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/8TEx/99foT/dXZ8/3Bxdv9rbHH/Zmds/2Jj + Z/9eX2P/Wltf/1dYXP9UVVj/UVJV/05PUv9MTVD/SkpN/0hIS/9GR0n/REVI/0NDRv9CQkX/QEFD/z9A + Qv8+P0H/Pj5A/z09QP88PT//PDw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojv/OTo7/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw9P/89PT//PT5A/z4/ + Qf8/QEL/QEFD/0FCRP9CQ0b/RERH/0VGSf9HSEv/SUpN/0tMT/9OTlL/UFFU/1NUV/9WV1v/WVpe/11e + Yv9hYmb/ZWZr/2prcP9ub3X/c3R6/3h5f/+trbH/9/f3//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9GRuL/RUXi/0ND4f9CQuH/QEDh/z4+4P88POD/Ojrg/zg44P83N9//NjbfsDg4 + 3/85OeD/Ozvg/z094P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9TU+T/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////+/v8/7W1uf95eoD/dHV7/29wdf9qa3D/ZWZr/2FiZv9dXmL/Wlpe/1ZX + W/9TVFj/UFFV/05OUv9LTE//SUpN/0dIS/9GRkn/REVH/0JDRf9BQkT/QEFD/z9AQv8+P0H/PT5A/z09 + P/88PT//Ozw+/zs8Pv86Oz3/Ojs9/zo7PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + O/85Ojv/OTo7/zk6O/85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87PD7/Ozw+/zw9P/88PT//PT5A/z4/Qf8/P0L/QEBD/0FB + RP9CQ0X/Q0RH/0VGSP9HR0r/SUlM/0tMT/9NTlH/UFBU/1JTV/9VVlr/WVpe/1xdYf9gYWX/ZGVq/2lq + b/9tb3T/c3R5/3Z3ff+foKX/8fHy//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Ji + 5v9GRuL/RUXi/0ND4f9BQeH/Pz/h/z4+4P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/z09 + 4P8+PuH/QUHh/0JC4f9EROH/Rkbi/0ZG4v9SUuT/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////9/f4/6anrP94eX//c3R6/25vdP9pam//ZGVq/2BhZv9dXWL/WVpe/1ZWWv9TU1f/UFFU/01O + Uf9LTE//SUpM/0dHSv9FRkj/RERH/0JDRf9BQkT/QEBD/z4/Qf8+PkH/PT5A/zw9P/88PD7/Ozw+/zs7 + Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6 + PP86Ojz/Ojs9/zo7Pf87Oz7/Ozw+/zw8Pv88PT//PT0//z0+QP8/P0H/P0BC/0FBRP9CQ0X/Q0RG/0VF + SP9GR0r/SElM/0pLTv9MTVD/T1BT/1JTVv9VVln/WFld/1xcYf9fYGX/Y2Rp/2hpbv9tbnP/cnN5/3Z3 + ff+UlZr/6enq//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Ji5v9FReL/RETh/0ND + 4f9BQeH/Pz/h/z094P88POD/Ojrg/zg44P82Nt//NTXfsDg43/85OeD/Ozvg/zw84P8+PuD/QEDh/0JC + 4f9EROH/RUXi/0ZG4v9SUuT/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8fHy/5ma + nv93eH7/c3R5/21udP9pam//ZGVq/2BhZf9cXWH/WFld/1VWWv9SU1b/T1BT/01NUf9KS07/SElM/0ZH + Sv9FRUj/Q0RH/0JDRf9BQUT/P0BC/z4/Qf89PkD/PT0//zw9P/88PD7/Ozw+/zo7Pf86Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6 + O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs8/zo7 + Pf86Oz3/Ozw+/zs8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BBQ/9BQkX/Q0NG/0RFSP9GR0n/SElL/0pL + Tv9MTVD/T1BT/1FSVv9UVVn/WFhc/1tcYP9fYGT/Y2Ro/2dobf9sbXL/cXJ4/3Z3ff+JipD/39/h//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Fh5v9FReL/RUXi/0ND4f9BQeH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXfsDc33/85OeD/Ojrg/zw84P8+PuD/QEDh/0JC4f9DQ+H/RUXi/0ZG + 4v9SUuT/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////7e3u/5CRlv93eH7/cnN5/21u + c/9oaW7/ZGRp/19gZf9cXGH/WFld/1VWWf9SU1b/T1BT/0xNUP9KS07/SElM/0ZHSv9ERUj/Q0RG/0JC + Rf9AQUP/P0BC/z4/Qf89PkD/PD0//zw9P/87PD7/Ozw+/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk5O/85Ojv/OTo7/zk6 + PP85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozw+/zs8 + Pv88PT//PD0//z0+QP8+P0H/P0BC/0BBQ/9BQkT/Q0NG/0RFR/9GRkn/SEhL/0pKTf9MTVD/Tk9S/1FS + Vf9UVVj/V1hc/1tcYP9eX2T/YmNo/2dobf9rbXL/cXJ3/3V2fP+DhIr/2Nna//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5eX7/2Fh5v9FReL/RUXi/0JC4f9AQOH/Pz/h/z094P87O+D/Ojrg/zg4 + 3/82Nt//NTXfsDc33/84OOD/Ojrg/zw84P8+PuD/QEDh/0FB4f9DQ+H/RUXi/0ZG4v9RUeT/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////6enq/42Ok/92d33/cXN4/2xtcv9oaW3/Y2Rp/19g + ZP9bXGD/WFlc/1RVWf9SUlb/T1BT/0xNUP9KS07/SEhL/0ZHSf9ERUj/Q0RG/0FCRf9AQUP/P0BC/z4/ + Qf89PkD/PT0//zw9P/87PD7/Ozs9/zo7Pf86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk5O/85Ojv/OTo7/zk5O/85OTv/OTk7/zk5O/85OTv/OTo7/zk6PP85Ojv/OTk7/zk6 + O/85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+ + QP8+P0H/Pz9C/0BBQ/9BQkT/QkNG/0RFR/9GRkn/R0hL/0pKTf9MTE//Tk9S/1FSVf9UVVj/V1hc/1pb + X/9eX2P/YmNn/2ZnbP9rbHH/cHF3/3V2fP+Bgoj/1NTW//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5eX7/2Ji5v9FReL/RETh/0JC4f9AQOH/Pz/h/z094P87O+D/OTng/zg44P82Nt//NTXfsDc3 + 3/84OOD/Ojrg/zw84P89PeD/Pz/h/0FB4f9CQuH/RETh/0VF4v9RUeT/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OXm/4uMkf92d33/cXJ4/2xtcv9naG3/Y2Ro/19gZP9bXGD/V1hc/1RV + Wf9RUlX/T09T/0xNUP9KSk3/SEhL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8 + Pv87PD7/Ozs9/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk5 + O/85Ojv/OTo7/zk5O/85Ojv/OTo7/zk5O/85OTv/OTo7/zk6O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+P0H/Pz9C/0BA + Q/9BQkT/QkNG/0RFR/9FRkn/R0hL/0lKTf9LTE//Tk9S/1FRVf9TVFj/V1db/1pbX/9eX2P/YmNn/2Zn + bP9rbHH/cHF2/3V2fP+AgYf/z8/R//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5eX7/2Fh + 5v9EROL/RETh/0JC4f9AQOH/Pj7g/zw84P87O+D/OTng/zg43/82Nt//NDTfsDY23/84ON//OTng/zs7 + 4P89PeD/Pj7h/0BA4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4ODi/4iJj/92d33/cXJ4/2xtcv9naG3/Y2Ro/19gZP9bXGD/V1hc/1RVWP9RUlX/Tk9S/0xN + UP9KSk3/SEhL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8Pv87PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojv/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk5O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7PP86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNF/0RE + R/9FRkn/R0hL/0lKTf9LTE//Tk5S/1BRVf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2 + fP9/gIb/ysrN//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5eX7/2Bg5v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7g/zw84P86OuD/ODjg/zc33/81Nd//NDTfsDY23/83N9//OTng/zs74P89PeD/Pj7h/0BA + 4f9CQuH/RETh/0VF4v9RUeP/x8f2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d7f/4eI + jv92d33/cXJ4/2xtcv9naG3/Y2Ro/19fZP9bXGD/V1hc/1RVWP9RUlX/Tk9S/0xNUP9KSk3/SEhL/0ZG + Sf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8Pv87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk5 + O/85OTv/OTk7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7 + Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNF/0RER/9FRkn/R0hL/0lK + Tf9LTE//Tk9S/1BRVf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP9+f4X/x8fK//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eX7/2Bg5v9DQ+H/Q0Ph/0FB4f9AQOH/Pj7g/zw8 + 4P86OuD/ODjg/zY23/81Nd//NDTfsDY23/83N9//OTng/zs74P89PeD/Pj7h/0BA4f9BQeH/Q0Ph/0VF + 4v9RUeP/x8f2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4OHi/4mKj/92d33/cXJ4/2xt + cv9naG3/Y2Ro/19fZP9bXGD/V1hc/1RVWf9RUlX/Tk9S/0xNUP9KSk3/SEhL/0ZHSf9ERUf/QkNG/0FC + RP9AQUP/P0BC/z4/Qf89PkD/PD0//zw8P/87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo7/zk6PP85Ojv/OTo7/zk5O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85OTv/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv88PD7/PD0//z0+QP8+PkH/Pz9C/0BAQ/9BQkT/QkNG/0RER/9FRkn/R0hL/0lKTf9LTE//Tk9S/1BR + Vf9TVFj/Vldb/1pbX/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP9/gIb/ysvN//7+/v////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/2Bg5v9DQ+H/Q0Ph/0FB4f8/P+H/PT3g/zw84P86OuD/OTng/zY2 + 3/81Nd//NDTfsDU13/83N9//OTng/zo64P88POD/Pj7g/z8/4f9BQeH/Q0Ph/0RE4f9QUOP/x8f2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5eXm/4uMkv92d33/cXJ4/2xtcv9naG3/Y2Ro/19g + ZP9bXGD/V1hc/1RVWf9RUlb/T09T/0xNUP9KS03/SElL/0ZHSf9ERUf/Q0NG/0FCRP9AQUP/P0BC/z4/ + Qf89PkD/PD0//zw9P/87PD7/Ozs9/zo7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojv/OTk7/zk5O/85Ojv/OTk7/zk6O/85Ojz/OTo7/zk5O/85OTv/OTo7/zk6O/85Ojv/OTo8/zk6 + O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo7PP86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+ + QP8+P0H/Pz9C/0BAQ/9BQkT/QkNG/0RER/9FRkn/R0hL/0lKTf9LTE//Tk9S/1FRVf9TVFj/V1db/1pb + X/9eX2P/YmNn/2ZnbP9rbHH/cHF2/3V2fP+AgYf/z9DS//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/2Bg5v9DQ+H/QkLh/0FB4f8/P+H/PT3g/zs74P85OeD/ODjg/zY23/80NN//MzPfsDU1 + 3/82Nt//ODjg/zo64P88POD/PT3g/z8/4f9AQOH/Q0Ph/0ND4f9QUOP/x8f2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6err/42OlP92d33/cnN4/2xtc/9oaW3/Y2Rp/19gZP9bXGD/WFlc/1RV + Wf9RUlb/T1BT/0xNUP9KS07/SElM/0ZHSf9ERUj/Q0RG/0FCRf9AQUP/P0BC/z4/Qf89PkD/PD0//zw8 + P/87PD7/Ozs9/zo7Pf86Oz3/Ojs8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6O/85Ojv/OTo8/zk6 + PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PD7/PD0//z0+QP8+P0H/Pz9C/0BB + Q/9BQkT/QkNG/0RFR/9GRkn/R0hL/0lKTf9MTE//Tk9S/1FSVf9UVVj/V1hc/1pbX/9eX2P/YmNo/2Zn + bP9rbHH/cHF3/3V2fP+Bgoj/1NXX//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/19f + 5v9DQ+H/QkLh/0BA4f8+PuD/PDzg/zo64P85OeD/Nzff/zU13/8zM9//MjLfsDU13/82Nt//ODjf/zo6 + 4P87O+D/PT3g/z8/4f9AQOH/QkLh/0ND4f9PT+P/x8f2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7e3u/5GSl/93eH7/cnN5/21uc/9oaW7/Y2Rp/19gZf9bXGD/WFld/1VWWf9SU1b/T1BT/0xN + UP9KS07/SElM/0ZHSv9FRUj/Q0RG/0JCRf9AQUP/P0BC/z4/Qf89PkD/PT0//zw9P/87PD7/Ozw+/zo7 + Pf86Oz3/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6 + PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8Pv88PT//PD0//z0+QP8+P0H/P0BC/0BBQ/9BQkT/QkNG/0RF + SP9GRkn/SEhL/0pKTf9MTVD/Tk9S/1FSVf9UVVn/V1hc/1tbX/9eX2T/Y2No/2dobf9sbXL/cXJ3/3V3 + fP+EhYv/2dnb//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/19f5v9CQuH/QUHh/z8/ + 4f8+PuD/PDzg/zo64P84OOD/Nzff/zU13/8zM9//MjLfsDQ03/82Nt//Nzff/zk54P86OuD/PDzg/z4+ + 4f9AQOH/QkLh/0JC4f9OTuP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////8vLz/5qb + oP93eH7/c3R5/21udP9pam//ZGVq/2BhZf9cXWH/WFld/1VWWv9SU1b/T1BU/01OUf9KS07/SElM/0ZH + Sv9FRkj/Q0RG/0JDRf9BQUT/P0BC/z4/Qf89PkD/PT0//zw9P/88PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojv/OTo7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojs9/zo7 + Pf87Oz3/Ozw+/zs8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BBQ/9BQkX/Q0RG/0RFSP9GR0r/SElM/0pL + Tv9MTVD/T09T/1FSVv9UVVn/WFlc/1tcYP9fYGT/Y2Rp/2dobf9sbXL/cXJ4/3Z3ff+LjJH/4ODi//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/15e5v9BQeH/QUHh/z8/4f8+PuD/PDzg/zo6 + 4P84OOD/Njbf/zU13/8zM9//MzPfsDQ03/81Nd//Nzff/zk54P86OuD/PDzg/z4+4P9AQOH/QUHh/0JC + 4f9OTuP/xsb2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////+Pj4/6iprf94eX//c3R6/25v + dP9pam//ZWZq/2BhZv9dXmL/WVpe/1ZWWv9SU1f/UFFU/01OUf9LTE//SUpM/0dISv9FRkn/Q0RH/0JD + Rf9BQkT/QEBD/z8/Qv8+P0H/PT5A/zw9P/88PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo6PP86Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo7/zk6O/85Ojv/OTk7/zk6 + O/85Ojv/OTo7/zk6O/85Ojv/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zs8 + Pv88PT//PT1A/z4+QP8+P0H/P0BC/0FBRP9CQkX/Q0RG/0VFSP9GR0r/SElM/0pLTv9NTVH/T1BT/1JT + Vv9VVln/WFld/1xdYf9fYGX/ZGVp/2hpbv9tbnP/cnN5/3V3ff+Vlpv/6urr//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/15e5v9BQeH/QUHh/z8/4f89PeD/Ozvg/zk54P84ON//Njbf/zQ0 + 3/8zM9//MjLfsDQ03/81Nd//Njbf/zg44P86OuD/Ozvg/z4+4P8/P+H/QUHh/0FB4f9OTuP/xsb2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////Pz8/7e3u/96e4H/dHV7/29wdf9qa3D/ZWZr/2Fi + Zv9dXmL/Wltf/1ZXW/9TVFj/UFFV/05PUv9LTE//SUpN/0dIS/9FRkn/REVH/0JDRv9BQkT/QEFD/z9A + Qv8+P0H/PT5A/z09P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojs9/zo7Pf87PD7/Ozw+/zw8P/88PT//PT5A/z4+ + Qf8/P0L/QEBD/0FCRP9CQ0X/RERH/0VGSP9HSEr/SUlM/0tMT/9NTlH/UFBU/1JTV/9VVlr/WVpe/1xd + Yf9gYWb/ZGVq/2lqb/9ub3T/c3R5/3Z4fv+hoqb/8fLy//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/11d5f9AQOH/QEDh/z4+4f88POD/Ojrg/zk54P83N9//Njbf/zQ03/8yMt//MTHesDMz + 3/80NN//Njbf/zg43/85OeD/Ozvg/z094P8+PuH/QEDh/0FB4f9NTeP/xsb2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/8bGyf99f4X/dXZ8/3Bxdv9rbHH/Zmds/2JjZ/9eX2P/Wltf/1dY + XP9UVVj/UVJV/05PU/9MTVD/SkpN/0hJS/9GR0n/REVI/0NERv9CQkX/QEFD/z9AQv8+P0H/PT5A/z09 + QP88PT//PDw+/zs8Pv87Oz3/Ojs9/zo7Pf86Ojz/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6O/85Ojz/OTo7/zk6O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zo6PP86Oz3/Ojs9/zo7Pf87PD7/PDw+/zw9P/89PT//PT5A/z4/Qf8/QEL/QEFD/0FC + RP9DQ0b/REVH/0ZGSf9HSEv/SUpN/0tMT/9OT1L/UFFU/1NUV/9WV1v/WVpe/11eYv9hYmb/ZWZr/2pr + cP9vcHX/dHV6/3l6gP+vr7P/9/f4//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/11d + 5f9AQOH/QEDh/z4+4P88POD/Ojrg/zk54P83N9//NTXf/zQ03/8yMt//MDDesDIy3/80NN//NTXf/zc3 + 3/85OeD/Ojrg/zw84P8+PuD/QEDh/0BA4f9NTeP/xsb2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9bX2f+EhYv/dnd8/3Fyd/9sbXL/Z2ht/2NkaP9fYGT/W1xg/1hZXf9VVVn/UlJW/09Q + U/9NTVD/SktO/0hJTP9GR0r/RUZI/0NER/9CQ0X/QUFE/0BAQ/8/P0L/Pj5B/z0+QP88PT//PD0//zs8 + Pv87PD7/Ojs9/zo7Pf86Oz3/Ojo8/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo7/zk6 + O/85Ojz/OTo7/zk6O/85Ojv/OTo7/zk6PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6 + PP86Oz3/Ojs9/zs7Pf87PD7/PDw//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QEFE/0JCRf9DREb/REVI/0ZH + Sf9ISEv/SktO/0xNUP9OT1L/UVJV/1RVWP9XWFz/Wltf/15fY/9iY2f/Zmds/2tscf9wcXb/dHV7/3x9 + g/++v8L//f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////5OT7/11d5f9AQOH/Pz/h/z09 + 4P87O+D/Ojrg/zg44P82Nt//NTXf/zMz3/8xMd7/MDDesDIy3/80NN//NTXf/zc33/84OOD/Ojrg/zw8 + 4P89PeD/Pz/h/z8/4f9MTOP/xsb2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+jo + 6f+TlJn/dnd9/3Jzef9tbnP/aGlu/2Rlav9gYWX/XF1h/1laXf9VVlr/U1NX/1BRVP9NTlH/S0xP/0lK + Tf9HSEv/RUZJ/0RER/9CQ0b/QUJE/0BBQ/8/QEL/Pj9B/z0+QP89PUD/PD0//zw8Pv87PD7/Ozs9/zo7 + Pf86Oz3/Ojs9/zo6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojv/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zo6PP86Ojz/Ojo8/zo7Pf86Oz3/Ozs9/zs8 + Pv88PD7/PD0//z09P/89PkD/Pj9B/z9AQv9AQEP/QUJE/0JDRf9DREf/RUZI/0dHSv9ISUz/S0tO/01O + Uf9PUFP/UlNW/1VWWf9YWV3/W1xg/19gZP9jZGn/Z2ht/2xtcv9xcnf/dXZ8/4WGjP/U1Nb///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////5OT7/11d5f8/P+H/Pj7g/z094P87O+D/Ojrg/zc3 + 3/82Nt//NDTf/zIy3/8xMd7/MDDesDIy3/8zM9//NDTf/zY23/84OOD/OTng/zs74P89PeD/Pj7h/z8/ + 4f9MTOP/xcX2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////T09f+nqKz/eHl//3N0 + ev9ub3X/amtw/2Vma/9hYmb/XV5i/1pbX/9WV1v/U1RY/1FRVf9OT1L/TE1Q/0pKTf9ISUv/RkdJ/0RF + SP9DREb/QkJF/0FBRP9AQEP/Pz9C/z4+Qf89PkD/PT0//zw9P/87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7 + Pf86Ojz/Ojo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7Pf87Oz3/Ozw+/zs8Pv88PT//PD0//z0+ + QP8+PkH/Pj9B/z9AQv9AQUP/QUJF/0NDRv9ERUf/RkZJ/0dIS/9JSk3/S0xP/05OUv9QUVT/U1RX/1ZW + Wv9ZWl7/XF1h/2BhZf9kZWr/aGlu/21uc/9yc3n/dnd9/5OUmf/n5+n///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5OT7/1xc5f8+PuD/Pj7g/zw84P86OuD/OTng/zc33/82Nt//NDTf/zIy + 3/8xMd7/MDDesDEx3v8yMt//NDTf/zU13/83N9//OTng/zs74P88POD/Pj7g/z8/4f9LS+L/xcX2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////39/f+/v8L/fH2D/3R1e/9wcXb/a2xx/2Zn + bP9iY2j/Xl9k/1tcYP9XWFz/VFVZ/1JTVv9PUFP/TU1R/0pLTv9ISUz/R0dK/0VGSP9EREf/QkNG/0FC + RP9AQUP/P0BC/z4/Qf89PkD/PT5A/zw9P/88PT//Ozw+/zs8Pv87Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6 + PP85Ojz/Ojo8/zo7Pf86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PT0//z0+QP8+P0H/P0BC/0BB + Q/9BQkT/QkNF/0NER/9FRUj/RkdK/0hJTP9KS07/TE1Q/05PUv9RUlX/VFVY/1dYW/9aW1//XV5j/2Fi + Z/9lZmv/amtw/25wdf90dXr/eHl//6enrP/29vf///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////5OT7/1xc5f89PeD/PT3g/zs74P86OuD/ODjg/zc33/81Nd//MzPf/zEx3v8wMN7/Ly/esDAw + 3v8yMt//NDTf/zU13/82Nt//ODjg/zo64P87O+D/PT3g/z4+4P9KSuL/xcX2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////W19n/h4iN/3V2fP9xcnj/bW5z/2hpbv9kZWn/YGFl/1xd + Yf9ZWl3/VlZa/1NUV/9QUVT/Tk5S/0tMT/9JSk3/SEhL/0ZHSf9ERUj/Q0RG/0JDRf9BQUT/QEBD/z8/ + Qv8+P0H/PT5A/z0+QP88PT//PDw+/zs8Pv87PD7/Ojs9/zo7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zk6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP85Ojz/Ojo8/zo6PP86Ojz/Ojs9/zo7 + Pf86Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/89PT//PT5A/z4+Qf8/P0H/P0BC/0BBQ/9CQkX/Q0NG/0RF + R/9FRkn/R0hL/0lKTf9LTE//TU5R/09QVP9SU1b/VVZZ/1hZXf9bXGD/X2Bk/2NkaP9naG3/a2xx/3Bx + d/91dnz/fX6E/8HBxP/+/v7///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5OT7/1tb + 5f89PeD/PT3g/zs74P85OeD/ODjf/zY23/80NN//MjLf/zEx3v8wMN7/Ly/esC8v3v8xMd7/MzPf/zQ0 + 3/82Nt//ODjf/zo64P87O+D/PT3g/z094P9KSuL/xcX2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////t7e7/m5yh/3d4fv9zdHr/bm90/2prcP9lZmv/YWJm/11eYv9aW1//V1hc/1RV + WP9RUlX/T09T/0xNUP9KS07/SElM/0dHSv9FRkn/RERH/0JDRv9BQkT/QEFD/z9AQv8+P0H/Pj5B/z0+ + QP89PT//PD0//zw8Pv87PD7/Ozw+/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo6PP86Ojz/Ojo8/zo6 + PP85Ojz/OTo8/zk6PP85Ojz/OTo8/zk6PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zo7Pf87Oz3/Ozw+/zs8 + Pv88PD7/PD0//zw9P/89PkD/Pj5A/z4/Qf8/QEL/QEFD/0FCRP9CQ0X/Q0RH/0VGSP9GR0r/SElM/0pL + Tv9MTVD/Tk9S/1FRVf9TVFj/Vldb/1laXv9dXWL/YGFm/2Rlav9oaW7/bW5z/3JzeP92eH3/iYqQ/97e + 4P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1pa5f88POD/PDzg/zo6 + 4P84OOD/Nzff/zU13/80NN//MjLf/zAw3v8vL97/Li7esC8v3v8wMN7/MjLf/zQ03/81Nd//Nzff/zk5 + 4P87O+D/PDzg/z094P9JSeL/xMT2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///8/Pz/u7u//3x9g/91dnz/cHF2/2tscf9naG3/Y2Ro/19gZP9bXGD/WFld/1VWWv9SU1f/UFFU/01O + Uf9LTE//SUpN/0hIS/9GR0r/RUVI/0NERv9CQ0X/QUJE/0BBQ/8/QEL/Pj9B/z4+Qf89PkD/PD0//zw9 + P/88PD7/Ozw+/zs8Pv87Oz7/Ozs9/zo7Pf86Oz3/Ojs9/zo7PP86Ozz/Ojo8/zo6PP86Ojz/Ojo8/zo6 + PP86Ojz/Ojo8/zo6PP86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7Pf87PD7/Ozw+/zw8Pv88PT//PD0//z0+ + QP89PkD/Pj9B/z9AQv9AQUP/QUFE/0JCRf9DREb/REVI/0ZGSf9HSEv/SUpM/0tMT/9NTlH/T1BT/1JT + Vv9VVVn/V1hc/1tcYP9eX2P/YmNn/2Zna/9qa3D/b3B1/3R1ev94eX//o6Sp//X19f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1lZ5f88POD/Ozvg/zo64P84ON//Njbf/zU1 + 3/8zM9//MjLf/zAw3v8uLt7/LS3esC8v3v8wMN7/MTHe/zMz3/81Nd//Nzff/zg44P86OuD/PDzg/zw8 + 4P9ISOL/xMT2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////3d3f/4iJ + j/92eH3/cnN5/21uc/9pam//ZGVq/2FiZv9dXmL/Wlpe/1ZXW/9UVVj/UVJV/09PU/9MTVD/SktO/0lJ + TP9HSEv/RUZJ/0RFR/9DQ0b/QkJF/0FCRP9AQUP/P0BC/z4/Qf8+PkD/PT5A/z09P/88PT//PDw//zs8 + Pv87PD7/Ozw+/zs7Pf87Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojo8/zo7Pf86Oz3/Ojs9/zo7 + Pf86Oz3/Ojs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/PDw+/zw9P/88PT//PT5A/z0+QP8+P0H/Pz9C/0BA + Q/9BQUT/QUJF/0NDRv9EREf/RUZI/0dHSv9ISUz/SktO/0xNUP9OT1L/UVFV/1NUWP9WV1v/WVpe/1xd + Yf9gYWX/Y2Rp/2hpbf9sbXL/cXJ3/3V3fP9/gIb/x8fK//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1lZ5f87O+D/Ozvg/zk54P83N9//Njbf/zQ03/8yMt//MTHe/y8v + 3v8uLt7/LCzesC4u3v8vL97/MTHe/zIy3/80NN//Njbf/zg43/85OeD/Ozvg/zw84P9ISOL/xMT2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9PT1/6OkqP95eoD/dHV7/29w + df9qa3D/Zmds/2JjaP9fYGT/W1xg/1hZXf9VVlr/U1NX/1BRVP9OT1L/TExQ/0pLTv9ISUz/RkdK/0VG + SP9EREf/Q0NG/0JCRf9BQUT/QEBD/z9AQv8+P0H/Pj5B/z0+QP89PT//PD0//zw9P/88PD7/Ozw+/zs8 + Pv87PD7/Ozs9/zs7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zo7Pf86Oz3/Ojs9/zs7Pf87Oz3/Ozs9/zs7 + Pf87PD7/Ozw+/zw8Pv88PD//PD0//z09P/89PkD/PT5A/z4/Qf8/P0L/P0BC/0BBQ/9BQkT/QkNF/0NE + R/9FRUj/RkdJ/0hIS/9JSk3/S0xP/01OUf9PUFP/UlNW/1VVWf9XWFz/W1tf/15fY/9hYmf/ZWZr/2lq + b/9ub3T/c3R5/3Z4fv+Sk5j/5eXm//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1hY5f86OuD/Ojrg/zg44P83N9//NTXf/zMz3/8yMt//MDDe/y8v3v8tLd7/LCzesC0t + 3v8vL97/MTHe/zIy3/8zM9//NTXf/zc33/85OeD/Ojrg/zs74P9HR+L/xMT2//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/8vLzv+Cg4n/dnd9/3FyeP9tbnP/aGlu/2Rl + av9gYWb/XV5i/1pbX/9XWFv/VFVZ/1FSVv9PUFP/TU5R/0tMT/9JSk3/SEhL/0ZHSv9FRkj/RERH/0JD + Rv9BQkX/QUFE/0BAQ/8/QEL/Pj9B/z4+Qf89PkD/PT5A/zw9P/88PT//PD0//zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozs9/zs7Pf87Oz3/Ozs9/zs7Pf87Oz3/Ozs9/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw+/zw9 + P/88PT//PT1A/z0+QP8+PkD/Pj9B/z8/Qv8/QEL/QEFD/0FCRP9CQ0X/Q0RG/0RFSP9GR0n/R0hL/0lK + TP9KS07/TE1Q/09PU/9RUlX/U1RY/1ZXW/9ZWl7/XF1h/2BgZf9jZGn/Z2ht/2xtcv9wcXf/dXZ7/3t8 + gv+0tbn/+Pj5//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P7/1hY + 5f86OuD/OTng/zg43/82Nt//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/KyvesC0t3v8uLt7/MDDe/zEx + 3v8zM9//NTXf/zc33/84ON//OTng/zo64P9GRuL/xMT2//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+7u7/+en6T/d3l//3R1ev9vcHX/amtx/2ZnbP9jY2j/X2Bk/1xc + Yf9ZWV3/Vlda/1NUV/9RUVX/Tk9T/0xNUP9KS07/SUpM/0dIS/9GR0n/RUVI/0NER/9CQ0b/QUJF/0FB + RP9AQUP/P0BC/z4/Qf8+P0H/PT5A/z0+QP89PUD/PD0//zw9P/88PT//PDw//zw8Pv87PD7/Ozw+/zs8 + Pv87PD7/Ozw+/zs8Pv87PD7/Ozw+/zs8Pv88PD7/PDw+/zw9P/88PT//PD0//z09P/89PkD/PT5A/z4/ + Qf8+P0H/P0BC/0BAQ/9AQUP/QUJE/0JDRf9DREf/REVI/0VGSf9HSEr/SElM/0pLTv9MTVD/Tk9S/1BR + VP9SU1f/VVZa/1hZXf9bXGD/Xl9j/2FiZ/9lZmv/aWpv/25vdP9ydHn/dnd9/42OlP/d3t////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+P7/1dX5P85OeD/OTng/zc3 + 3/81Nd//NDTf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/KirdsC0t3v8uLt7/Ly/e/zAw3v8yMt//NDTf/zY2 + 3/83N9//OTng/zk54P9GRuL/w8P2//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////39/f/HyMr/gYKI/3V3fP9xcnj/bW5z/2lqbv9lZmr/YWJm/11eY/9aW1//WFhc/1VW + Wf9SU1f/UFFU/05PUv9MTVD/SktO/0hJTP9HSEv/RkZJ/0VFSP9DREf/QkNG/0FCRf9BQUT/QEFD/z9A + Qv8/P0L/Pj9B/z4+Qf89PkD/PT5A/z09QP88PT//PD0//zw9P/88PT//PD0//zw8Pv88PD7/PDw+/zw8 + P/88PD//PDw//zw9P/88PT//PD0//zw9P/89PUD/PT5A/z0+QP8+PkH/Pj9B/z8/Qv8/QEL/QEFD/0FB + RP9BQkT/QkNF/0NERv9ERUj/RUZJ/0dHSv9ISUz/SktN/0tMT/9NTlH/T1BU/1JTVv9UVVj/V1hb/1pb + X/9dXmL/YGFl/2Rlaf9oaW3/bG1y/3Bxd/91dnz/enyC/7Gytf/4+Pj///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4+P7/1ZW5P84OOD/ODjg/zY23/81Nd//MzPf/zIy + 3/8wMN7/Ly/e/y0t3v8rK97/KirdsCws3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zU13/82Nt//ODjg/zg4 + 4P9FReL/w8P2//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///r7O3/nJyh/3h5f/90dXv/b3B2/2tscf9naG3/Y2Rp/2BhZf9cXWL/WVpe/1dYW/9UVVn/UlJW/09Q + VP9OTlL/TExQ/0pLTv9ISUz/R0hK/0ZGSf9FRUj/RERH/0JDRv9CQkX/QUJE/0BBQ/9AQEP/P0BC/z8/ + Qf8+P0H/Pj5B/z0+QP89PkD/PT5A/z09QP89PT//PT0//zw9P/88PT//PD0//zw9P/88PT//PD0//zw9 + P/89PUD/PT5A/z0+QP89PkD/Pj5B/z4/Qf8+P0H/P0BC/z9AQv9AQUP/QUFE/0JCRf9CQ0b/Q0RH/0RF + SP9FRkn/R0dK/0hJTP9KSk3/S0xP/01OUf9PUFP/UVJV/1NUWP9WV1r/WVld/1xdYf9fYGT/YmNo/2Zn + bP9qa3D/bm91/3N0ev93eH7/iouR/9zc3v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4+P7/1ZW5P84ON//Nzff/zY23/80NN//MjLf/zEx3v8vL97/Li7e/yws + 3v8rK93/KirdsCsr3f8sLN7/Li7e/zAw3v8xMd7/MjLf/zQ03/82Nt//Nzff/zc33/9EROH/w8P2//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/zc3Q/4OE + iv92d33/cnN5/25vdP9pam//Zmdr/2JjaP9fYGT/XFxh/1laXf9WV1v/VFRY/1FSVv9PUFP/TU5R/0tM + T/9KS07/SElM/0dIS/9GR0n/RUVI/0RER/9DQ0b/QkNF/0FCRP9BQUT/QEFD/z9AQv8/QEL/Pz9C/z4/ + Qf8+P0H/Pj9B/z4+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/PT5A/z0+QP89PkD/Pj5B/z4/ + Qf8+P0H/Pz9C/z9AQv9AQEP/QEFD/0BBRP9BQkT/QkNF/0NDRv9DREf/RUVI/0ZGSf9HR0r/SElM/0pK + Tf9LTE//TU5R/09QU/9RUlX/U1RX/1VWWv9YWV3/W1xg/15fY/9hYmb/ZWZq/2lqbv9tbnP/cXJ3/3V2 + fP99foT/tre6//n5+v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+P7/1VV5P83N9//Nzff/zU13/8zM9//MjLf/zAw3v8vL97/LS3e/ysr3v8qKt3/KSndsCsr + 3f8sLN7/LS3e/y8v3v8xMd7/MjLf/zMz3/81Nd//Njbf/zc33/9DQ+H/w8P1//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9PT0/6mqrv96e4H/dXZ8/3Bx + d/9sbXL/aGlu/2Rlav9hYmb/Xl9j/1tcYP9YWV3/Vlda/1NUWP9RUlX/T1BT/01OUf9MTE//SktO/0lJ + TP9HSEv/RkdJ/0VGSP9ERUf/Q0RG/0JDRv9CQkX/QUJE/0BBRP9AQUP/QEBD/z9AQv8/QEL/Pz9C/z4/ + Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z4/Qf8+P0H/Pj9B/z9AQv8/QEL/P0BD/0BB + Q/9BQUT/QUJE/0JCRf9CQ0X/Q0RG/0RFR/9FRUj/RkdJ/0dIS/9ISUz/SkpN/0tMT/9NTlH/T09T/1FR + Vf9TU1f/VVZZ/1dYXP9aW1//XV5i/2BhZv9jZGn/Z2ht/2tscf9vcHb/dHV6/3h5f/+XmJ3/5ubn//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////4+P6/1VV + 5P82Nt//Njbf/zQ03/8yMt//MTHe/y8v3v8uLt7/LCze/ysr3f8pKd3/KCjdsCoq3f8rK93/LS3e/y4u + 3v8vL97/MTHe/zMz3/80NN//NTXf/zY23/9DQ+H/wsL1//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9zd3/+Oj5T/d3h+/3N0ev9vcHX/a2xx/2do + bf9jZGn/YGFm/11eYv9aW1//WFlc/1VWWv9TVFf/UVJV/09QU/9NTlH/TExQ/0pLTv9JSkz/R0hL/0ZH + Sv9FRkn/REVI/0RER/9DREb/QkNF/0JCRf9BQkT/QUFE/0BBQ/9AQUP/QEBD/z9AQv8/QEL/P0BC/z9A + Qv8/QEL/P0BC/z9AQv8/QEL/P0BC/z9AQv8/QEL/P0BD/0BBQ/9AQUP/QUFE/0FCRP9CQkX/QkNF/0ND + Rv9DREf/REVI/0VGSf9GR0r/R0hL/0hJTP9KS03/S0xP/01OUf9PT1P/UFFV/1JTV/9VVVn/V1hc/1pa + Xv9cXWH/X2Bl/2NkaP9mZ2z/amtw/25vdP9yc3n/dnd9/4OEiv/Iycz//f39//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4uL6/1RU5P82Nt//NTXf/zQ0 + 3/8yMt//MDDe/y8v3v8tLd7/LCze/yoq3f8pKd3/KCjdsCkp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy + 3/8zM9//NTXf/zU13/9CQuH/wsL1//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////r6+v+/wMP/gIGH/3Z3ff9yc3n/bm90/2prcP9mZ2z/Y2Rp/2Bh + Zf9dXmL/Wltf/1dYXP9VVlr/U1RX/1FSVf9PUFP/TU5S/0xNUP9LS07/SUpN/0hJTP9HSEr/RkdJ/0VG + Sf9ERUj/RERH/0NERv9CQ0b/QkNF/0FCRf9BQkT/QUFE/0FBRP9AQUP/QEFD/0BBQ/9AQUP/QEFD/0BB + Q/9AQUP/QEFD/0BBQ/9AQUT/QUFE/0FCRP9BQkT/QkJF/0JDRf9DREb/Q0RH/0RFR/9FRkj/RkdJ/0dH + Sv9ISEv/SUpM/0pLTv9MTE//TU5R/09QU/9RUVX/UlNX/1VVWf9XWFz/WVpe/1xdYf9fYGT/YmNo/2Vm + a/9pam//bW5z/3Fyd/91dnz/enyC/6qrr//y8vP///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4uL6/1NT5P81Nd//NDTf/zMz3/8xMd7/MDDe/y4u + 3v8tLd7/Kyve/yoq3f8oKN3/JyfdsCgo3f8qKt3/Kyvd/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU1 + 3/9CQuH/wsL1//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////w8PD/qKmt/3p8gv91dnz/cXJ4/21uc/9pam//Zmds/2JjaP9fYGX/XV1i/1pb + X/9XWFz/VVZa/1NUV/9RUlX/T1BU/05PUv9MTVD/S0xP/0pLTv9JSUz/SEhL/0dHSv9GR0n/RUZJ/0RF + SP9EREf/Q0RG/0NDRv9DQ0b/QkNF/0JDRf9CQkX/QUJF/0FCRP9BQkT/QUJE/0FCRP9BQkT/QUJE/0FC + Rf9CQkX/QkNF/0JDRv9DQ0b/Q0RG/0RER/9ERUj/RUZI/0ZGSf9GR0r/R0hL/0hJTP9JSk3/S0tO/0xN + UP9NTlH/T1BT/1FSVf9TVFf/VVZZ/1dYXP9ZWl7/XF1h/19gZP9iY2f/ZWZq/2hpbv9sbXL/cHF2/3R1 + e/94eX//lpec/+Pj5f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////4uL6/1NT5P80NN//MzPf/zIy3/8wMN7/Ly/e/y0t3v8sLN7/Kyvd/ykp + 3f8nJ93/JyfdsCgo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8yMt//MzPf/zQ03/9BQeH/wsL1//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4+Pk/5aWm/94eX//dHZ7/3Bxd/9sbXP/aWpv/2Vma/9iY2j/X2Bl/1xdYv9aW1//WFhc/1VW + Wv9TVFj/UlNW/1BRVP9OT1L/TU5R/0xMT/9KS07/SUpN/0hJTP9HSEv/R0dK/0ZHSf9FRkn/RUVI/0RF + R/9ERUf/Q0RH/0NER/9DREb/Q0NG/0NDRv9DQ0b/QkNG/0JDRv9CQ0b/Q0NG/0NDRv9DREb/Q0RH/0RE + R/9ERUf/RUVI/0VGSf9GRkn/RkdK/0dIS/9ISUz/SUpN/0pLTv9LTE//TU1R/05PUv9PUFT/UVJV/1NU + V/9VVlr/V1hc/1laXv9cXWH/Xl9k/2JjZ/9lZmr/aGlu/2xtcv9vcHb/c3R6/3d4fv+Jio//0NHT//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////4uL6/1JS5P8zM9//MzPf/zEx3v8wMN7/Li7e/y0t3v8sLN7/Kird/ygo3f8nJ93/JibdsCcn + 3f8oKN3/Kird/ysr3v8tLd7/Li7e/zAw3v8xMd7/MzPf/zMz3/9AQOH/wMD1///////9/f///f3///39 + ///9/f///f3///39///9/f///f3///39///9/f///f3///39///9/f///f3///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///f3+/9DR + 1P+Ki5D/eHl+/3R1e/9wcXb/bG1y/2hpbv9lZmv/YmNo/19gZf9dXmL/Wltf/1hZXf9WV1v/VFVY/1JT + V/9RUlX/T1BT/05PUv9NTVD/S0xP/0pLTv9JSk3/SUlM/0hIS/9HSEv/RkdK/0ZHSf9FRkn/RUZI/0VG + SP9ERUj/REVI/0RFSP9ERUf/REVH/0RFR/9ERUf/REVI/0RFSP9FRUj/RUZI/0VGSf9GRkn/RkdK/0dI + S/9HSEv/SElM/0lKTf9KS07/S0xP/0xNUP9NTlH/T1BT/1BRVP9SU1b/VFRY/1VWWv9XWFz/Wltf/1xd + Yf9fYGT/YmJn/2Vmav9oaW7/a2xx/29wdf9zdHr/d3h9/4GCiP+9vcH/+Pj5///////+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///9/f///f3///39 + ///9/f///f3///39///9/f///f3///39///9/f///f3///39///9/f///f3///39///+/v//4eH6/1FR + 4/8yMt//MjLf/zAw3v8uLt7/LS3e/yws3v8rK93/KSnd/ygo3f8mJt3/JSXdsCYm3f8oKN3/KSnd/yoq + 3f8sLN7/Li7e/y8v3v8xMd7/MjLf/zMz3/86OuD/fHzq/5yc7/+cnO//nZ3v/56e8P+envD/n5/w/6Cg + 8P+hofD/oaHw/6Ki8P+jo/D/pKTx/6Sk8f+lpfH/pqbx/6en8f+oqPH/qKjx/6mp8f+qqvL/q6vy/6ur + 8v+srPL/ra3y/66u8v+urvL/r6/y/7Cw8v+xsfP/sbHz/7Ky8/+zs/P/tLTz/7S08/+1tfP/trbz/7a2 + 8/+3t/T/uLj0/7m59P+5ufT/urr0/7u79P+7u/T/vLz0/7y89P+9vfX/vr71/7i47/+Sk7//e32K/3d5 + fv9zdHr/cHF2/2xtcv9oaW7/ZWZr/2JjaP9gYWX/XV5i/1tcYP9ZWl3/V1db/1VWWf9TVFj/UVJW/1BR + VP9PT1P/Tk5S/0xNUP9LTE//SktO/0pKTf9JSk3/SElM/0hIS/9HSEv/R0dK/0ZHSv9GR0r/RkdJ/0ZG + Sf9GRkn/RkZJ/0ZGSf9GR0n/RkdJ/0ZHSv9GR0r/R0dK/0dIS/9HSEv/SElM/0lKTP9JSk3/SktO/0tM + T/9MTVD/TU5R/05PUv9QUFT/UVJV/1JTV/9UVVn/Vldb/1hZXf9aW1//XV1i/19gZP9iY2f/ZWZq/2hp + bv9rbHH/b3B1/3N0ef93eH3/enuE/4iJr/+wsej/vr71/7299f+8vPT/vLz0/7u79P+6uvT/ubn0/7m5 + 9P+4uPT/uLj0/7e39P+2tvP/tbXz/7W18/+0tPP/s7Pz/7Ky8/+ysvP/sbHz/7Cw8/+vr/L/r6/y/66u + 8v+trfL/ra3y/6ys8v+rq/L/qqry/6qq8f+pqfH/qKjx/6en8f+mpvH/pqbx/6Wl8f+kpPH/o6Pw/6Ki + 8P+iovD/oaHw/6Cg8P+fn/D/n5/w/56e8P+dnfD/nZ3v/5yc7/+bm+//jIzt/0JC4f8yMt//MTHe/zAw + 3v8uLt7/LCze/ysr3f8qKt3/KSnd/ycn3f8lJd3/JCTcsCYm3f8nJ93/KCjd/ykp3f8rK93/LS3e/y4u + 3v8vL97/MTHe/zIy3/80NN//Njbf/zg43/85OeD/Ozvg/zw84P8+PuD/Pz/h/0FB4f9CQuH/RETh/0VF + 4v9HR+L/SEji/0pK4v9MTOP/TU3j/05O4/9QUOP/UlLk/1NT5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc + 5f9dXeX/X1/m/2Bg5v9iYub/Y2Pm/2Vl5/9mZuf/aGjn/2lp5/9qauf/bGzo/21t6P9vb+j/cHDo/3Jy + 6f9zc+n/dHTp/3Z26f93d+n/eHjq/3l56v97e+r/fHzq/3196/9+f+T/fn+2/3t8h/93eH7/c3R6/3Bx + dv9sbXL/aWpv/2Zna/9jZGj/YGFm/15fY/9cXGH/WVpe/1dYXP9WVlr/VFVY/1JTV/9RUlX/UFFU/09P + U/9NTlH/TU1R/0xMUP9LTE//SktO/0pKTf9JSk3/SUlM/0hJTP9ISUz/SEhL/0dIS/9HSEv/R0hL/0dI + S/9HSEv/SEhL/0hJTP9ISUz/SUlM/0lKTf9JSk3/SktO/0tMT/9LTE//TE1Q/01OUf9OT1L/T1BU/1FS + Vf9SU1b/VFRY/1VWWv9XWFz/WVpe/1tcYP9dXmL/YGBl/2JjaP9lZmv/aGlu/2tscf9vcHX/cnN5/3Z4 + ff96fIP/fX6m/31+3f99fev/e3vq/3p66v95eer/eHjq/3Z26f90dOn/c3Pp/3Jy6f9wcOj/cHDo/25u + 6P9tbej/a2vo/2pq5/9oaOf/Z2fn/2Zm5/9kZOf/Y2Pm/2Fh5v9gYOb/X1/m/11d5f9bW+X/Wlrl/1hY + 5f9XV+T/VVXk/1RU5P9SUuT/UVHj/09P4/9OTuP/TEzj/0pK4v9JSeL/SEji/0ZG4v9EROH/Q0Ph/0JC + 4f9AQOH/Pz/h/z094P88POD/Ozvg/zk54P83N9//NTXf/zMz3/8yMt//MDDe/y8v3v8uLt7/LCze/ysr + 3f8pKd3/KCjd/yYm3f8lJdz/JCTcsCUl3P8mJt3/Jyfd/ykp3f8qKt3/LCze/y0t3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/83N9//ODjg/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0ND4f9EROH/Rkbi/0hI + 4v9JSeL/S0vi/0xM4/9OTuP/T0/j/1FR4/9SUuT/VFTk/1VV5P9XV+T/WFjl/1lZ5f9bW+X/XV3l/15e + 5v9fX+b/YWHm/2Ji5v9kZOb/ZWXn/2dn5/9oaOf/aWnn/2tr6P9sbOj/bm7o/29v6P9wcOj/cXHp/3Nz + 6f90dOn/dXXp/3d36f94eOr/eXnq/3p66v98fOv/fX3j/35+sf97fIb/d3h+/3N0ev9wcXb/bG1z/2lq + b/9mZ2z/ZGVp/2FiZv9fYGT/XF1h/1pbX/9ZWV3/V1hb/1VWWv9UVFj/UlNX/1FSVf9QUVT/T1BT/05P + Uv9NTlH/TE1Q/0xNUP9LTE//S0xP/0pLTv9KS07/SktO/0pKTf9KSk3/SkpN/0pKTf9KSk3/SktN/0pL + Tv9KS07/S0tO/0tMT/9MTE//TE1Q/01OUf9OT1L/T09T/1BRVP9RUlX/UlNW/1NUWP9VVln/Vldb/1hZ + Xf9aW1//XF1h/15fY/9gYWb/Y2Ro/2Zna/9pam7/bG1y/29wdf9yc3n/dnd9/3p8gv99fqP/fX3a/3t7 + 6/96eur/eHjq/3d36v92dun/dXXp/3R06f9ycun/cXHp/29v6P9ubuj/bW3o/2xs6P9qauf/aWnn/2dn + 5/9mZuf/ZGTn/2Nj5v9iYub/YGDm/19f5v9eXuX/XFzl/1tb5f9ZWeX/WFjl/1ZW5P9VVeT/U1Pk/1JS + 5P9QUOP/T0/j/01N4/9LS+P/Skri/0hI4v9HR+L/Rkbi/0RE4f9CQuH/QUHh/z8/4f8+PuD/PDzg/zs7 + 4P85OeD/ODjg/zY23/80NN//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8oKN3/Jyfd/yUl + 3f8kJNz/IyPcsCQk3P8lJd3/Jyfd/ygo3f8qKt3/Kyvd/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU1 + 3/83N9//ODjg/zk54P87O+D/PT3g/z4+4P8/P+H/QUHh/0JC4f9EROH/Rkbi/0dH4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9SUuT/U1Pk/1RU5P9WVuT/V1fk/1lZ5f9aWuX/W1vl/11d5f9fX+b/YGDm/2Fh + 5v9jY+b/ZGTn/2Zm5/9nZ+f/aWnn/2pq5/9ra+j/bW3o/25u6P9vb+j/cHDo/3Jy6f9zc+n/dHTp/3Z2 + 6f93d+n/eHjq/3l56v96eur/e3vr/3194P99frH/e32I/3d5fv90dXv/cHF3/21uc/9qa3D/Z2ht/2Rl + av9iY2f/YGFl/11eY/9cXWH/Wltf/1hZXf9WV1v/VVZa/1RVWP9TU1f/UVJW/1FRVf9QUVT/T1BT/05P + Uv9OTlL/TU5R/01NUf9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9MTVD/TE1Q/0xNUP9NTVD/TU5R/01O + Uf9OT1L/T1BT/09QVP9QUVX/UVJW/1JTV/9TVFj/VVVZ/1ZXW/9YWFz/WVpe/1tcYP9dXmL/X2Bk/2Fi + Z/9kZWn/Zmds/2lqb/9sbXL/b3B2/3N0ev93eH3/enyD/31+o/98fdf/e3vq/3p66v95eer/d3fq/3Z2 + 6f91den/dHTp/3Jy6f9xcen/cHDo/29v6P9ubuj/bGzo/2tr6P9paef/aGjn/2Zm5/9lZef/ZGTm/2Nj + 5v9hYeb/X1/m/15e5v9dXeX/W1vl/1pa5f9YWOX/V1fk/1VV5P9UVOT/UlLk/1FR4/9QUOP/Tk7j/01N + 4/9LS+L/SUni/0hI4v9GRuL/RUXi/0ND4f9CQuH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjg/zY2 + 3/80NN//MzPf/zEx3v8wMN7/Ly/e/y0t3v8sLN7/Kird/ykp3f8oKN3/Jibd/yUl3P8jI9z/IiLcsCMj + 3P8kJNz/Jibd/ycn3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/82Nt//Nzff/zg4 + 4P86OuD/PDzg/z094P8+PuD/QEDh/0JC4f9DQ+H/RETi/0ZG4v9ISOL/SUni/0pK4v9MTOP/Tk7j/09P + 4/9QUOP/UVHk/1NT5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc5f9eXuX/Xl7m/2Bg5v9iYub/Y2Pm/2Rk + 5/9lZef/Z2fn/2ho5/9qauf/a2vo/2xs6P9ubuj/b2/o/3Bw6P9xcen/c3Pp/3R06f91den/dnbp/3d3 + 6v95eer/enrq/3t76/98fOH/fX62/3x9if94eX7/dHV7/3FyeP9ub3T/a2xx/2hpbv9lZmv/Y2Rp/2Fi + Zv9fYGT/XV5i/1tcYP9ZWl7/WFld/1dXW/9VVlr/VFVZ/1NUWP9SU1f/UlJW/1FSVf9QUVT/UFFU/09Q + U/9PUFP/T09T/05PUv9OT1L/Tk9S/05PUv9OT1L/Tk9T/09QU/9PUFP/UFBU/1BRVP9RUVX/UVJW/1JT + Vv9TVFf/VFVY/1VWWv9WV1v/V1hc/1laXv9bXGD/XF1i/15fZP9gYWb/Y2No/2Vma/9oaW3/amtw/21u + c/9wcXf/c3V6/3d4fv97fIX/fX2n/3x82v96eur/eXnq/3h46v93d+r/dnbp/3R06f9zc+n/cnLp/3Fx + 6f9wcOj/bm7o/21t6P9sbOj/a2vo/2lp5/9oaOf/Zmbn/2Vl5/9jY+b/YmLm/2Fh5v9gYOb/Xl7m/11d + 5f9cXOX/Wlrl/1hY5f9XV+T/Vlbk/1RU5P9SUuT/UVHj/09P4/9OTuP/TU3j/0tL4/9JSeL/SEji/0dH + 4v9GRuL/RETh/0JC4f9BQeH/Pz/h/z4+4P89PeD/Ozvg/zk54P84OOD/Nzff/zU13/8zM9//MjLf/zAw + 3v8vL97/Li7e/yws3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHcsCMj3P8kJNz/JSXd/ycn + 3f8oKN3/Kird/ysr3f8tLd7/Li7e/y8v3v8wMN7/MjLf/zMz3/81Nd//Njbf/zc33/85OeD/Ozvg/zw8 + 4P8+PuD/Pz/h/0FB4f9CQuH/Q0Ph/0VF4v9HR+L/SEji/0lJ4v9LS+P/TEzj/05O4/9PT+P/UFDj/1JS + 5P9TU+T/VVXk/1ZW5P9YWOX/WVnl/1tb5f9cXOX/XV3l/19f5v9gYOb/YmLm/2Nj5v9kZOf/Zmbn/2dn + 5/9oaOf/amrn/2tr6P9sbOj/bW3o/29v6P9wcOj/cXHp/3Jy6f9zc+n/dXXp/3Z26f93d+n/eHjq/3l5 + 6v96euv/fHzl/319u/98fY7/eXp//3V2fP9yc3n/b3B1/2xtcv9pam//Z2ht/2Vmav9iY2j/YGFm/15f + ZP9dXmL/W1xg/1pbX/9ZWV3/V1hc/1ZXW/9VVlr/VFVZ/1RVWP9TVFf/U1NX/1JTVv9SU1b/UVJW/1FS + Vf9RUlX/UVJV/1FSVf9RUlX/UVJV/1FSVv9SU1b/UlNX/1NUV/9UVFj/VFVZ/1VWWv9WV1v/V1hc/1hZ + Xf9ZWl7/W1xg/11dYv9eX2P/YGFl/2JjZ/9kZWr/Zmds/2lqb/9rbHL/bm91/3FyeP90dnv/eHl+/3x9 + iP98fa7/e3vd/3l56/95eer/d3fq/3Z26f91den/dHTp/3Nz6f9ycun/cHDo/29v6P9ubuj/bW3o/2xs + 6P9qauj/aWnn/2dn5/9mZuf/ZWXn/2Nj5v9iYub/YWHm/2Bg5v9eXub/XV3l/1tb5f9aWuX/WVnl/1dX + 5P9WVuT/VVXk/1NT5P9RUeT/UFDj/05O4/9NTeP/TEzj/0pK4v9JSeL/R0fi/0ZG4v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7h/z094P87O+D/Ojrg/zk54P83N9//NTXf/zQ03/8zM9//MTHe/zAw3v8uLt7/LS3e/ysr + 3v8qKt3/KCjd/ygo3f8mJt3/JSXd/yMj3P8iItz/ISHcsCIi3P8jI9z/JSXc/yYm3f8nJ93/KSnd/yoq + 3f8sLN7/LS3e/y4u3v8vL97/MTHe/zIy3/80NN//NTXf/zY23/84OOD/Ojrg/zs74P89PeD/Pj7g/0BA + 4f9BQeH/QkLh/0RE4f9GRuL/R0fi/0hI4v9JSeL/S0vj/0xM4/9OTuP/T0/j/1FR4/9SUuT/VFTk/1VV + 5P9XV+T/WFjl/1lZ5f9bW+X/XFzl/15e5f9fX+b/YGDm/2Ji5v9jY+b/ZGTn/2Vl5/9nZ+f/aGjn/2lp + 5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Bw6P9ycun/c3Pp/3R06f91den/dnbp/3h46v95eer/eXnq/3p6 + 5v98fMX/fH2Y/3p7gf93eH3/c3R6/3Bxd/9tbnT/a2xx/2hpbv9mZ2z/ZGVq/2JjaP9gYWb/X2Bk/11e + Yv9cXWH/W1xg/1laXv9YWV3/WFhc/1dYW/9WV1v/VlZa/1VWWv9VVVn/VFVZ/1RVWP9UVVj/VFVY/1RV + WP9UVVj/VFVZ/1RVWf9VVln/VVZa/1ZXW/9XWFv/V1hc/1hZXf9ZWl7/Wltf/1tcYf9dXmL/Xl9k/2Bh + Zf9iY2f/ZGVp/2Zna/9oaW7/amtw/21uc/9vcXb/c3R5/3Z3fP95eoD/fH2P/3x9uf96e+D/eXnq/3h4 + 6v93d+r/dnbp/3V16f90dOn/c3Pp/3Fx6f9wcOj/bm7o/25u6P9sbOj/a2vo/2pq5/9paef/aGjn/2Zm + 5/9lZef/ZGTm/2Ji5v9hYeb/X1/m/15e5v9dXeX/XFzl/1pa5f9ZWeX/V1fl/1ZW5P9VVeT/U1Pk/1FR + 5P9QUOP/T0/j/01N4/9MTOP/Skri/0lJ4v9ISOL/Rkbi/0RE4f9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw8 + 4P86OuD/ODjg/zc33/82Nt//NTXf/zMz3/8yMt//MTHe/y8v3v8tLd7/LCze/yoq3f8pKd3/KCjd/ycn + 3f8lJd3/JCTc/yIi3P8hIdz/ICDcsCIi3P8jI9z/JCTc/yUl3f8mJt3/KCjd/ykp3f8qKt3/LCze/y0t + 3v8uLt7/MDDe/zEx3/8zM9//NDTf/zY23/84ON//OTng/zo64P87O+D/PT3g/z4+4f9AQOH/QUHh/0JC + 4f9EROH/Rkbi/0dH4v9ISOL/Skri/0tL4/9NTeP/Tk7j/1BQ4/9RUeP/UlLk/1NT5P9VVeT/V1fk/1hY + 5f9ZWeX/W1vl/1xc5f9dXeX/X1/m/2Bg5v9hYeb/Y2Pm/2Rk5v9lZef/Zmbn/2dn5/9paef/a2vo/2xs + 6P9tbej/bm7o/29v6P9xcej/cXHp/3Jy6f90dOn/dXXp/3Z26f93d+n/d3fp/3h46v95een/e3zT/3x9 + pf97fIb/eHl+/3V2e/9yc3n/b3B2/21uc/9qa3D/aGlu/2ZnbP9kZWr/Y2No/2FiZv9fYGX/Xl9j/11e + Yv9cXWH/W1xg/1pbX/9ZWl7/WVpd/1hZXf9YWV3/V1hc/1dYXP9XWFz/V1hc/1dYXP9XWFz/V1hc/1hY + XP9YWV3/WVpe/1laXv9aW1//W1xg/1xdYf9dXWL/Xl9j/19gZP9gYWb/YmNo/2Rlaf9mZ2v/aGlu/2pr + cP9sbXL/bm91/3FyeP90dXv/d3h9/3p8gv98fZr/e3vI/3l55v94eOr/d3fp/3Z26f91den/dHTp/3Nz + 6f9ycun/cXHo/3Bw6P9ubuj/bW3o/2xs6P9ra+j/aWnn/2ho5/9nZ+f/Zmbn/2Vl5/9jY+b/YmLm/2Fh + 5v9gYOb/Xl7m/11d5f9cXOX/Wlrl/1lZ5f9XV+T/Vlbk/1VV5P9TU+T/UlLk/1FR4/9PT+P/TU3j/0xM + 4/9KSuL/SUni/0hI4v9GRuL/RUXi/0ND4f9CQuH/QUHh/z8/4f8+PuD/PT3g/zs74P85OeD/ODjg/zc3 + 3/82Nt//NDTf/zIy3/8xMd7/MDDe/y4u3v8sLN7/Kyvd/yoq3f8oKN3/Jyfd/yYm3f8lJdz/IyPc/yIi + 3P8gINz/Hx/csCEh3P8iItz/IyPc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8uLt7/Ly/e/zEx + 3v8yMt//MzPf/zU13/82Nt//Nzff/zk54P86OuD/PDzg/z094P8/P+H/QEDh/0JC4f9DQ+H/RETh/0ZG + 4v9HR+L/SUni/0pK4v9MTOP/TU3j/05O4/9QUOP/UVHk/1JS5P9UVOT/VVXk/1dX5P9YWOX/Wlrl/1tb + 5f9cXOX/XV3l/19f5v9gYOb/YWHm/2Ji5v9kZOb/ZWXn/2Zm5/9nZ+f/aWnn/2pq5/9ra+j/bGzo/21t + 6P9ubuj/cHDo/3Fx6P9ycun/c3Pp/3R06f91den/dnbp/3Z26f94eOr/eXnr/3p63v98fbf/fH2R/3p7 + gf93eH3/dHV7/3FyeP9vcHX/bG1z/2prcP9pam//Z2ht/2Vma/9kZGn/YmNo/2FiZv9gYWX/X2Bk/15f + Y/9dXmL/XF1h/1xdYf9bXGD/W1xg/1tcYP9bXGD/W1tg/1tcYP9bXGD/W1xg/1tcYP9cXGH/XF1h/11e + Yv9eXmP/X19k/19gZf9gYWb/YmNn/2Nkaf9lZmr/Zmds/2hpbv9qa3D/bG1y/25vdP9wcnf/c3R6/3Z3 + ff95en//e32L/3x9rP96etf/eHjp/3d36v92dun/dXXp/3R06f9zc+n/cnLp/3Fx6P9wcOj/b2/o/25u + 6P9tbej/bGzo/2pq5/9paef/aGjn/2dn5/9lZef/ZGTn/2Nj5v9iYub/YWHm/19f5v9eXub/XV3l/1xc + 5f9bW+X/WVnl/1hY5f9WVuT/VVXk/1NT5P9SUuT/UVHj/1BQ4/9OTuP/TEzj/0tL4/9KSuL/SEji/0ZG + 4v9FReL/RETh/0JC4f9BQeH/QEDh/z4+4P89PeD/Ozvg/zo64P84OOD/Nzff/zY23/80NN//MzPf/zEx + 3v8wMN7/Li7e/y0t3v8sLN7/Kyvd/ykp3f8nJ93/Jibd/yUl3f8kJNz/IiLc/yEh3P8fH9z/Hx/csCAg + 3P8hIdz/IiLc/yQk3P8lJdz/Jibd/ygo3f8pKd3/Kird/yws3v8tLd7/Ly/e/zAw3v8xMd7/MjLf/zQ0 + 3/81Nd//Nzff/zg43/86OuD/Ozvg/zw84P8+PuD/Pz/h/0FB4f9CQuH/RETh/0VF4v9GRuL/SEji/0hI + 4v9KSuL/TEzj/01N4/9PT+P/UFDj/1FR5P9SUuT/VFTk/1VV5P9XV+T/WFjl/1lZ5f9aWuX/XFzl/11d + 5f9eXub/YGDm/2Fh5v9iYub/ZGTm/2Vl5/9mZuf/Z2fn/2ho5/9paef/amro/2tr6P9tbej/bm7o/29v + 6P9wcOj/cXHp/3Jy6f9zc+n/dHTp/3V16f92dun/d3fq/3d36v95eeb/envO/3x9pv97fIn/eXp//3Z3 + ff9zdXr/cXJ4/29wdf9tbnP/a2xx/2lqb/9oaW7/Zmds/2Vma/9kZWn/Y2Ro/2JjZ/9hYmb/YGFm/2Bh + Zf9fYGT/X2Bk/19fZP9eX2T/Xl9k/15fZP9eX2T/X2Bk/19gZP9fYGX/YGFl/2FiZv9iYmf/YmNo/2Nk + af9kZWr/Zmds/2dobf9pam//a2xx/2xtc/9ub3X/cXJ3/3N0ev91d3z/eHl//3t8hf98fZ3/e3vE/3h4 + 4v93d+r/dnbp/3V16f91den/dHTp/3Jy6f9xcen/cHDo/29v6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp + 5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Ji5v9gYOb/X1/m/15e5v9dXeX/W1vl/1pa5f9ZWeX/V1fl/1ZW + 5P9VVeT/U1Pk/1JS5P9RUeP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/R0fi/0VF4v9EROH/Q0Ph/0FB + 4f9AQOH/Pj7h/z094P88POD/Ojrg/zk54P84ON//Njbf/zU13/8zM9//MjLf/zAw3v8vL97/Li7e/yws + 3v8rK93/Kird/ygo3f8nJ93/JSXd/yQk3P8jI9z/ISHc/yAg3P8fH9z/Hh7bsB8f3P8gINz/IiLc/yMj + 3P8kJNz/JSXd/yYm3f8oKN3/KSnd/ysr3f8sLN7/Li7e/y8v3v8wMN7/MTHe/zMz3/81Nd//Njbf/zc3 + 3/84OOD/Ojrg/zs74P88POD/Pj7g/0BA4f9BQeH/QkLh/0ND4f9FReL/R0fi/0hI4v9JSeL/Skri/0xM + 4/9NTeP/T0/j/1BQ4/9RUeP/UlLk/1RU5P9VVeT/Vlbk/1hY5f9ZWeX/Wlrl/1xc5f9dXeX/Xl7m/2Bg + 5v9hYeb/YmLm/2Nj5v9kZOf/ZWXn/2Zm5/9oaOf/aWnn/2pq5/9ra+j/bGzo/21t6P9ubuj/b2/o/3Bw + 6P9xcen/cnLp/3Nz6f90dOn/dXXp/3Z26f93d+r/d3fq/3l54P97e8D/fH2a/3t8hf95en//dnd8/3R1 + ev9yc3j/cHF2/25vdP9sbXL/a2xx/2lqb/9oaW7/Z2ht/2ZnbP9lZmv/ZGVq/2Rlaf9jZGn/Y2Rp/2Nk + aP9iY2j/YmNo/2JjaP9iY2j/Y2Ro/2Nkaf9kZWn/ZGVq/2Vma/9mZ2v/Z2ht/2hpbv9pam//amtw/2xt + cv9tbnT/b3B2/3FyeP9zdHr/dnd8/3h5fv96e4P/fH2T/3t8t/95edr/d3fp/3Z26v91den/dXXp/3R0 + 6f9zc+n/cnLp/3Fx6f9wcOj/bm7o/25u6P9tbej/bGzo/2pq6P9qauf/aGjn/2dn5/9mZuf/ZWXn/2Rk + 5v9jY+b/YWHm/2Bg5v9fX+b/XV3l/1xc5f9bW+X/Wlrl/1hY5f9XV+T/Vlbk/1RU5P9TU+T/UlLk/1FR + 4/9QUOP/Tk7j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0RE4f9DQ+H/QkLh/0BA4f8/P+H/PT3g/zw8 + 4P87O+D/OTng/zg43/82Nt//NTXf/zQ03/8zM9//MTHe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ycn + 3f8mJt3/JSXc/yMj3P8hIdz/ICDc/x8f3P8eHtv/HR3bsB8f3P8gINz/ICDc/yIi3P8jI9z/JCTc/yYm + 3f8nJ93/KSnd/yoq3f8rK93/LCze/y4u3v8vL97/MDDe/zIy3/8zM9//NTXf/zY23/83N9//OTng/zo6 + 4P88POD/PT3g/z4+4P9AQOH/QUHh/0JC4f9EROH/RUXi/0dH4v9ISOL/SUni/0tL4/9MTOP/TU3j/09P + 4/9QUOP/UVHj/1JS5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1pa5f9cXOX/XV3l/15e5v9fX+b/YGDm/2Fh + 5v9jY+b/ZGTm/2Vl5/9mZuf/aGjn/2ho5/9qauf/a2vo/2xs6P9tbej/bm7o/29v6P9wcOj/cXHo/3Fx + 6f9ycun/c3Pp/3R06f90den/dXXp/3Z26v93d+j/eHjb/3p7vP98fZz/e3yH/3l6f/93eH3/dXZ7/3N0 + ev9xcnj/cHF2/25vdP9tbnP/bG1y/2tscf9qa3D/aWpv/2hpbv9oaW7/Z2ht/2dobf9naG3/Z2hs/2do + bf9naG3/Z2ht/2hpbf9oaW7/aWpv/2prcP9qa3H/a2xy/2xtc/9ub3T/b3B2/3Fyd/9ydHn/dHV7/3Z3 + ff95en7/e3yE/3x9lf97e7T/eXnU/3d35/92dur/dXXp/3R06f9zc+n/c3Pp/3Jy6f9xcej/cHDo/29v + 6P9ubuj/bW3o/2xs6P9ra+j/amrn/2lp5/9oaOf/Z2fn/2Vl5/9kZOf/Y2Pm/2Ji5v9hYeb/X1/m/15e + 5v9dXeX/XFzl/1tb5f9aWuX/WFjl/1dX5P9WVuT/VFTk/1NT5P9RUeT/UFDj/09P4/9OTuP/TU3j/0tL + 4/9KSuL/SUni/0dH4v9GRuL/RUXi/0ND4f9CQuH/QEDh/z8/4f8+PuD/PDzg/zs74P85OeD/ODjg/zc3 + 3/81Nd//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yIi + 3P8hIdz/ICDc/x4e2/8dHdv/HR3bsB0d2/8fH9z/ICDc/yEh3P8iItz/IyPc/yUl3P8mJt3/KCjd/ykp + 3f8qKt3/Kyve/y0t3v8uLt7/MDDe/zEx3v8yMt//NDTf/zU13/82Nt//Nzff/zk54P87O+D/PDzg/z09 + 4P8+PuH/Pz/h/0FB4f9DQ+H/RETh/0ZG4v9HR+L/SEji/0pK4v9LS+P/TEzj/01N4/9PT+P/UFDj/1FR + 5P9TU+T/VFTk/1VV5P9WVuT/WFjl/1lZ5f9aWuX/W1vl/1xc5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Rk + 5v9lZef/Zmbn/2dn5/9oaOf/aWnn/2pq5/9ra+j/bGzo/21t6P9ubuj/b2/o/29v6P9wcOj/cXHp/3Jy + 6f9zc+n/dHTp/3R06f91den/dnbq/3Z26P94eNv/enu//3t8of97fIz/enuC/3h5f/92d33/dXZ7/3N0 + ev9yc3n/cXJ3/3Bxdv9vcHX/bm90/21uc/9tbnP/bG1y/2xtcv9rbHL/a21y/2xtcv9sbXL/bG1y/2xt + c/9tbnP/bm90/25vdf9vcHb/cHJ3/3FzeP9zdHn/dHV7/3Z3ff94eX7/enuB/3t8if97fJv/enu2/3h4 + 1f92dub/dnbq/3V16f90dOn/c3Pp/3Jy6f9ycun/cXHp/3Bw6P9vb+j/bm7o/21t6P9sbOj/a2vo/2pq + 5/9paef/aGjn/2dn5/9mZuf/ZWXn/2Rk5v9jY+b/YmLm/2Bg5v9fX+b/Xl7m/11d5f9cXOX/W1vl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS5P9QUOP/T0/j/05O4/9NTeP/S0vj/0pK4v9JSeL/SEji/0ZG + 4v9EROL/Q0Ph/0JC4f9AQOH/Pz/h/z4+4P89PeD/Ozvg/zo64P85OeD/Nzff/zY23/80NN//MzPf/zEx + 3v8wMN7/Ly/e/y0t3v8sLN7/Kyvd/ykp3f8oKN3/Jyfd/yUl3f8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e + 2/8cHNv/HBzbsB0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jyfd/ygo3f8pKd3/Kyvd/yws + 3v8tLd7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P86OuD/Ozvg/zw84P89PeD/Pz/h/0BA + 4f9BQeH/Q0Ph/0RE4f9FReL/R0fi/0hI4v9JSeL/S0vj/0xM4/9OTuP/T0/j/1BQ4/9RUeT/U1Pk/1RU + 5P9VVeT/Vlbk/1dX5P9YWOX/Wlrl/1tb5f9cXOX/Xl7l/15e5v9fX+b/YWHm/2Ji5v9jY+b/ZGTm/2Vl + 5/9mZuf/Z2fn/2lp5/9paef/amrn/2tr6P9sbOj/bW3o/25u6P9vb+j/b2/o/3Bw6P9xcen/cnLp/3Nz + 6f90dOn/dHTp/3R06f91der/dnbp/3d33/95ecz/e3uy/3x9mP97fIn/enuC/3l6f/93eX3/dnd8/3V2 + e/90dXr/c3R6/3Jzef9yc3j/cXJ4/3Fyd/9xcnf/cXJ3/3Fyd/9xcnf/cXJ4/3FzeP9yc3n/c3R5/3R1 + ev90dnv/dnd8/3d4ff94en7/enuB/3t8hv98fZP/e3ur/3l5xv93d9v/dXXn/3R06v90dOn/dHTp/3Nz + 6f9ycun/cXHp/3Fx6P9wcOj/b2/o/25u6P9tbej/bW3o/2tr6P9qauj/amrn/2ho5/9nZ+f/Zmbn/2Vl + 5/9kZOf/Y2Pm/2Ji5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9aWuX/WVnl/1hY5f9XV+T/Vlbk/1RU + 5P9TU+T/UlLk/1FR4/9PT+P/Tk7j/01N4/9MTOP/Skri/0hI4v9ISOL/R0fi/0VF4v9DQ+H/QkLh/0FB + 4f8/P+H/Pj7g/z094P87O+D/Ojrg/zg44P83N9//Njbf/zU13/8zM9//MjLf/zAw3v8vL97/Li7e/yws + 3v8sLN7/Kird/ykp3f8nJ93/Jibd/yQk3P8jI9z/IiLc/yEh3P8fH9z/Hh7b/x0d2/8cHNv+Gxvbqhwc + 2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8lJdz/Jibd/ycn3f8oKN3/Kird/ysr3f8sLN7/Li7e/y8v + 3v8wMN7/MTHe/zMz3/80NN//NTXf/zc33/84OOD/Ojrg/zs74P89PeD/PT3g/z8/4f9AQOH/QkLh/0ND + 4f9EROH/RUXi/0dH4v9ISOL/SUni/0pK4v9MTOP/TU3j/05O4/9QUOP/UVHk/1JS5P9TU+T/VVXk/1ZW + 5P9XV+T/WFjl/1pa5f9aWuX/XFzl/11d5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Nj5v9kZOf/Zmbn/2dn + 5/9nZ+f/aGjn/2lp5/9qauf/a2vo/2xs6P9tbej/bW3o/25u6P9vb+j/cHDo/3Fx6f9ycun/cnLp/3Nz + 6f9zc+n/dHTp/3R06v91der/dnbn/3d33P95ecj/enu0/3t8of97fJP/e3yJ/3p8g/96e4D/eXp+/3h5 + ff93eX3/d3h9/3d4ff92d33/dnd9/3Z3fP92eHz/d3h9/3d4ff94eX3/eXp+/3l7gP96e4L/e3yH/3t8 + kP97fJ3/enuv/3l5w/93eNf/dnbl/3R06v90dOr/dHTp/3Nz6f9ycun/cnLp/3Fx6f9wcOj/cHDo/29v + 6P9ubuj/bW3o/2xs6P9ra+j/amro/2pq5/9paef/aGjn/2dn5/9mZuf/ZWXn/2Rk5v9jY+b/YmLm/2Bg + 5v9fX+b/Xl7m/11d5f9cXOX/XFzl/1pa5f9ZWeX/V1fl/1ZW5P9WVuT/VFTk/1NT5P9SUuT/UVHj/09P + 4/9OTuP/TEzj/0tL4/9KSuL/SUni/0dH4v9GRuL/RUXi/0ND4f9CQuH/QUHh/z8/4f8+PuH/PT3g/zs7 + 4P86OuD/OTng/zc33/82Nt//NTXf/zQ03/8yMt//MTHe/y8v3v8uLt7/LS3e/yws3v8qKt3/KSnd/ygo + 3f8mJt3/JSXd/yQk3P8jI9z/IiLc/yAg3P8fH9z/Hh7b/xwc2/8bG9v9Ghrbnhsb2/8cHNv/HR3b/x8f + 3P8gINz/ISHc/yIi3P8kJNz/JSXd/yYm3f8nJ93/KSnd/yoq3f8rK93/LS3e/y4u3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/83N9//ODjg/zk54P87O+D/PDzg/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0VF + 4v9HR+L/SEji/0lJ4v9KSuL/TEzj/01N4/9OTuP/UFDj/1FR4/9SUuT/U1Pk/1VV5P9WVuT/V1fk/1hY + 5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/15e5v9gYOb/YWHm/2Ji5v9jY+b/ZGTm/2Vl5/9mZuf/Z2fn/2ho + 5/9paef/aWnn/2pq5/9ra+j/bGzo/2xs6P9tbej/bm7o/29v6P9vb+j/cHDo/3Fx6f9xcen/cnLp/3Jy + 6f9zc+n/c3Pp/3R06v90dOr/dXXo/3Z24f93d9T/eHnF/3p6uf96e67/e3uj/3t8mf97fJT/e3yR/3t8 + jv97fIv/e3yJ/3t8iv97fI3/e3yQ/3t8k/97fJj/e3yg/3p7q/95erb/eXnC/3d40f92dt7/dHTm/3R0 + 6f90dOr/c3Pp/3Jy6f9ycun/cXHp/3Fx6f9wcOj/cHDo/29v6P9vb+j/bm7o/21t6P9sbOj/a2vo/2pq + 5/9paef/aGjn/2ho5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Nj5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc + 5f9bW+X/WVnl/1hY5f9XV+T/V1fk/1VV5P9UVOT/U1Pk/1FR4/9QUOP/T0/j/05O4/9NTeP/S0vj/0pK + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0JC4f9BQeH/Pz/h/z4+4f89PeD/PDzg/zo64P85OeD/ODjg/zY2 + 3/81Nd//NDTf/zIy3/8xMd7/MDDe/y4u3v8tLd7/LCze/ysr3f8pKd3/KCjd/yYm3f8lJd3/JCTc/yMj + 3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv6GRnbkBoa2/8bG9v/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ykp3f8qKt3/Kyve/yws3v8uLt7/Ly/e/zEx3v8yMt//MzPf/zQ0 + 3/81Nd//Nzff/zg44P86OuD/Ozvg/zw84P8+PuD/Pz/h/0BA4f9CQuH/Q0Ph/0RE4f9FReL/R0fi/0hI + 4v9JSeL/S0vi/0xM4/9NTeP/Tk7j/09P4/9QUOP/UlLk/1NT5P9UVOT/VVXk/1dX5P9YWOX/WVnl/1lZ + 5f9bW+X/XFzl/11d5f9eXub/X1/m/2Bg5v9hYeb/YmLm/2Nj5v9kZOb/ZGTn/2Zm5/9nZ+f/aGjn/2ho + 5/9paef/amrn/2tr6P9ra+j/bGzo/21t6P9tbej/bm7o/29v6P9wcOj/cHDo/3Fx6P9xcen/cXHp/3Jy + 6f9ycun/cnLp/3Nz6v9zc+r/c3Pq/3R06P91deX/dXXh/3Z22/92dtb/d3fT/3d30P93d87/d3fM/3d4 + zf93eND/d3fS/3Z31f92dtr/dXXg/3V15P90dOj/dHTq/3Nz6v9ycur/cnLp/3Jy6f9ycun/cnLp/3Fx + 6f9wcOj/cHDo/29v6P9ubuj/bm7o/21t6P9sbOj/a2vo/2tr6P9qauf/aWnn/2ho5/9oaOf/Z2fn/2Zm + 5/9lZef/ZGTn/2Nj5v9iYub/YWHm/2Fh5v9fX+b/Xl7m/15e5v9dXeX/W1vl/1pa5f9ZWeX/WFjl/1dX + 5P9WVuT/VVXk/1NT5P9TU+T/UVHk/1BQ4/9PT+P/TU3j/01N4/9LS+P/Skri/0lJ4v9HR+L/Rkbi/0VF + 4v9EROH/QkLh/0FB4f9AQOH/Pj7g/z094P88POD/Ozvg/zk54P84ON//Njbf/zU13/80NN//MjLf/zEx + 3v8wMN7/Ly/e/y0t3v8sLN7/Kyvd/yoq3f8oKN3/Jibd/yUl3f8lJdz/IyPc/yIi3P8hIdz/ICDc/x8f + 3P8dHdv/HBzb/xoa2/8ZGdv1GBjbdRkZ2/YbG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yQk + 3P8lJd3/Jibd/ygo3f8pKd3/Kird/yws3v8tLd7/Li7e/zAw3v8xMd7/MjLf/zMz3/80NN//Njbf/zc3 + 3/84OOD/Ojrg/zw84P89PeD/Pj7g/z8/4f9BQeH/QUHh/0ND4f9EROH/RUXi/0ZG4v9ISOL/SUni/0pK + 4v9LS+P/TU3j/05O4/9PT+P/UFDj/1FR5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1hY5f9ZWeX/Wlrl/1xc + 5f9cXOX/Xl7l/15e5v9fX+b/YGDm/2Fh5v9iYub/Y2Pm/2Rk5/9mZuf/Zmbn/2Zm5/9nZ+f/aGjn/2lp + 5/9paef/amrn/2tr6P9sbOj/bGzo/21t6P9ubuj/bm7o/29v6P9vb+j/b2/o/3Bw6P9wcOj/cXHo/3Fx + 6f9xcen/cnLp/3Jy6f9ycun/cnLq/3Jy6v9ycur/c3Pq/3Nz6v9zc+r/c3Pq/3Jy6v9ycur/cnLq/3Jy + 6v9ycur/cnLq/3Jy6f9ycun/cXHp/3Fx6f9xcej/cHDo/3Bw6P9wcOj/b2/o/29v6P9ubuj/bm7o/21t + 6P9tbej/bGzo/2tr6P9qauf/amrn/2lp5/9oaOf/Z2fn/2Zm5/9mZuf/ZWXn/2Vl5/9kZOb/YmLm/2Ji + 5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9bW+X/WVnl/1hY5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS + 5P9RUeT/UFDj/05O4/9NTeP/TEzj/0tL4/9KSuL/SEji/0dH4v9GRuL/RUXi/0RE4f9CQuH/QUHh/0BA + 4f8+PuH/PT3g/zw84P87O+D/OTng/zg44P83N9//NTXf/zQ03/8zM9//MTHf/zAw3v8vL97/Li7e/yws + 3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3P8kJNz/IiLc/yEh3P8gINz/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8ZGdvrGBjaVRkZ29YaGtv/Gxvb/xwc2/8dHdv/Hh7b/yAg3P8hIdz/IiLc/yMj3P8kJNz/JSXd/ycn + 3f8pKd3/Kird/ysr3f8sLN7/LS3e/y8v3v8wMN7/MTHe/zIy3/8zM9//NTXf/zY23/83N9//ODjg/zo6 + 4P88POD/PT3g/z4+4P8/P+H/QEDh/0JC4f9DQ+H/RETh/0VF4v9HR+L/SEji/0lJ4v9KSuL/S0vj/0xM + 4/9OTuP/Tk7j/09P4/9RUeP/UlLk/1NT5P9UVOT/Vlbk/1ZW5P9YWOX/WVnl/1pa5f9aWuX/W1vl/11d + 5f9eXub/X1/m/19f5v9gYOb/YWHm/2Nj5v9jY+b/ZGTm/2Vl5/9lZef/Zmbn/2dn5/9oaOf/aGjn/2lp + 5/9qauf/amro/2tr6P9ra+j/bGzo/21t6P9tbej/bm7o/25u6P9ubuj/bm7o/29v6P9wcOj/cHDo/3Bw + 6P9wcOj/cXHo/3Bw6P9wcOj/cXHp/3Bw6P9xcen/cXHp/3Fx6f9wcOj/cHDo/3Bw6P9wcOj/cHDo/3Bw + 6P9vb+j/b2/o/29v6P9vb+j/bm7o/25u6P9ubuj/bm7o/21t6P9sbOj/bGzo/2tr6P9ra+j/amrn/2lp + 5/9paef/aGjn/2dn5/9nZ+f/Zmbn/2Vl5/9kZOf/Y2Pm/2Nj5v9iYub/YWHm/2Bg5v9fX+b/X1/m/11d + 5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UVHk/1BQ4/9PT+P/T0/j/01N + 4/9MTOP/S0vi/0pK4v9ISOL/R0fi/0ZG4v9FReL/Q0Ph/0JC4f9BQeH/QEDh/z8/4f89PeD/PDzg/zo6 + 4P85OeD/ODjg/zc33/81Nd//NDTf/zMz3/8yMt//MDDe/y8v3v8uLt7/LS3e/ysr3f8qKt3/KCjd/ygo + 3f8mJt3/JSXd/yQk3P8iItz/ISHc/yAg3P8fH9z/Hh7b/xwc2/8cHNv/Ghrb/xkZ2/8YGNrWFxfaORgY + 2qQZGdv9Ghrb/xsb2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi3P8kJNz/JSXc/yYm3f8nJ93/KCjd/ykp + 3f8rK93/LCze/y0t3v8vL97/MDDe/zEx3v8zM9//NDTf/zU13/82Nt//Nzff/zk54P86OuD/Ozvg/z09 + 4P8+PuD/Pz/h/0BA4f9BQeH/Q0Ph/0RE4f9FReL/Rkbi/0hI4v9JSeL/Skri/0tL4/9MTOP/TU3j/05O + 4/9PT+P/UVHj/1JS5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1hY5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/15e + 5v9fX+b/X1/m/2Fh5v9hYeb/YmLm/2Nj5v9jY+b/ZGTn/2Vl5/9mZuf/Z2fn/2dn5/9nZ+f/aGjn/2lp + 5/9qauf/amrn/2tr6P9ra+j/bGzo/2xs6P9sbOj/bW3o/21t6P9tbej/bm7o/25u6P9ubuj/bm7o/25u + 6P9vb+j/b2/o/25u6P9ubuj/b2/o/29v6P9vb+j/b2/o/29v6P9ubuj/bm7o/25u6P9tbej/bW3o/21t + 6P9tbej/bGzo/2xs6P9sbOj/a2vo/2pq6P9qauf/amrn/2lp5/9paef/aGjn/2dn5/9nZ+f/Zmbn/2Zm + 5/9lZef/ZGTm/2Nj5v9iYub/YmLm/2Fh5v9gYOb/X1/m/15e5v9dXeX/XV3l/1xc5f9bW+X/Wlrl/1lZ + 5f9YWOX/V1fk/1VV5P9UVOT/U1Pk/1JS5P9RUeT/UFDj/09P4/9OTuP/TU3j/0xM4/9KSuL/SUni/0hI + 4v9HR+L/Rkbi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4P88POD/Ojrg/zk54P84OOD/Nzff/zU1 + 3/80NN//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/LCze/yoq3f8pKd3/KCjd/ycn3f8mJt3/JCTc/yMj + 3P8iItz/ISHc/x8f3P8eHtv/HR3b/xsb2/8aGtv/GRnb/xgY2v8XF9q2FxfaHhgY2mkYGNrxGRnb/xoa + 2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8jI9z/JCTc/yUl3P8mJt3/Jyfd/ygo3f8qKt3/Kyvd/y0t + 3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ03/81Nd//Njbf/zg44P85OeD/Ojrg/zs74P88POD/Pj7g/z8/ + 4f9AQOH/QUHh/0ND4f9EROH/RETi/0ZG4v9HR+L/SEji/0pK4v9LS+L/S0vj/01N4/9OTuP/T0/j/1BQ + 4/9SUuT/U1Pk/1RU5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ5f9aWuX/W1vl/1xc5f9dXeX/Xl7l/19f + 5v9gYOb/YGDm/2Fh5v9iYub/YmLm/2Nj5v9kZOb/ZWXn/2Vl5/9mZuf/Zmbn/2dn5/9oaOf/aGjn/2lp + 5/9paef/amrn/2pq5/9qauf/a2vo/2tr6P9ra+j/a2vo/2xs6P9sbOj/bGzo/2xs6P9tbej/bW3o/21t + 6P9tbej/bGzo/2xs6P9tbej/bGzo/21t6P9sbOj/bGzo/2xs6P9sbOj/a2vo/2xs6P9ra+j/amrn/2pq + 5/9paef/aWnn/2lp5/9oaOf/aGjn/2dn5/9nZ+f/Z2fn/2Zm5/9lZef/ZWXn/2Rk5v9jY+b/YmLm/2Fh + 5v9hYeb/YGDm/19f5v9eXub/XV3l/1xc5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9WVuT/VVXk/1RU + 5P9TU+T/UlLk/1FR4/9QUOP/T0/j/05O4/9MTOP/TEzj/0pK4v9ISOL/SEji/0ZG4v9FReL/RETh/0ND + 4f9CQuH/QUHh/0BA4f8+PuH/PT3g/zw84P86OuD/OTng/zg44P83N9//Njbf/zQ03/8zM9//MjLf/zEx + 3v8wMN7/Li7e/y0t3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJdz/JCTc/yIi3P8gINz/ICDc/x4e + 2/8dHdv/HBzb/xoa2/8ZGdv/GRnb/xcX2v0XF9qKFxfaCRcX2jYXF9rSGBjb/xoa2/8bG9v/HBzb/x0d + 2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yQk3P8lJd3/Jyfd/ycn3f8oKN3/Kird/ysr3v8tLd7/Li7e/y8v + 3v8wMN7/MjLf/zMz3/80NN//NTXf/zY23/83N9//OTng/zo64P87O+D/PT3g/z4+4P8/P+H/QEDh/0FB + 4f9CQuH/Q0Ph/0VF4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL4/9NTeP/Tk7j/09P4/9QUOP/UVHj/1JS + 5P9TU+T/VFTk/1VV5P9WVuT/V1fk/1dX5P9ZWeX/Wlrl/1pa5f9bW+X/W1vl/11d5f9dXeX/X1/m/19f + 5v9gYOb/YWHm/2Ji5v9iYub/YmLm/2Rk5v9kZOf/ZWXn/2Vl5/9mZuf/Zmbn/2dn5/9nZ+f/aGjn/2ho + 5/9oaOf/aWnn/2lp5/9paef/aWnn/2pq5/9qauf/amrn/2tr6P9ra+j/a2vo/2tr6P9ra+j/a2vo/2pq + 5/9ra+j/amrn/2pq5/9qauf/a2vo/2pq5/9qauf/aWnn/2lp5/9paef/aGjn/2ho5/9oaOf/Z2fn/2dn + 5/9mZuf/Zmbn/2Zm5/9lZef/ZWXn/2Rk5v9jY+b/Y2Pm/2Ji5v9hYeb/YGDm/2Bg5v9fX+b/Xl7m/11d + 5f9cXOX/W1vl/1pa5f9aWuX/WVnl/1hY5f9XV+X/Vlbk/1VV5P9UVOT/U1Pk/1NT5P9RUeT/UFDj/09P + 4/9OTuP/TU3j/0xM4/9KSuL/Skri/0lJ4v9HR+L/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/z8/ + 4f89PeD/PDzg/zs74P85OeD/ODjf/zc33/82Nt//NDTf/zMz3/8yMt//MTHe/y8v3v8vL97/LS3e/ysr + 3v8rK93/Kird/ygo3f8nJ93/Jibd/yUl3P8kJNz/IyPc/yEh3P8gINz/Hx/c/x4e2/8cHNv/Gxvb/xoa + 2/8ZGdv/GBja/xcX2uwXF9pYFxfaABcX2hIXF9qdGBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hx/c/yAg + 3P8gINz/IiLc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KSnd/yoq3f8sLN7/LCze/y4u3v8vL97/MDDe/zIy + 3/8zM9//NDTf/zU13/82Nt//Nzff/zk54P86OuD/Ozvg/z094P89PeD/Pz/h/0BA4f9BQeH/QkLh/0ND + 4f9EROH/Rkbi/0ZG4v9ISOL/SUni/0pK4v9LS+P/TEzj/01N4/9OTuP/T0/j/1FR4/9RUeT/UlLk/1NT + 5P9UVOT/VVXk/1ZW5P9XV+T/WFjl/1lZ5f9ZWeX/Wlrl/1tb5f9cXOX/XV3l/11d5f9eXub/X1/m/2Bg + 5v9gYOb/YWHm/2Ji5v9iYub/Y2Pm/2Nj5v9kZOb/ZGTn/2Vl5/9lZef/Zmbn/2Zm5/9mZuf/Z2fn/2dn + 5/9nZ+f/aGjn/2ho5/9oaOf/aGjn/2ho5/9paef/aWnn/2lp5/9paef/aWnn/2lp5/9oaOf/aWnn/2ho + 5/9oaOf/aGjn/2ho5/9oaOf/aGjn/2dn5/9nZ+f/Zmbn/2Zm5/9mZuf/Zmbn/2Vl5/9kZOf/ZGTm/2Rk + 5v9jY+b/Y2Pm/2Ji5v9hYeb/YGDm/2Bg5v9fX+b/Xl7m/15e5v9dXeX/XFzl/1tb5f9bW+X/Wlrl/1lZ + 5f9YWOX/V1fl/1dX5P9WVuT/VVXk/1RU5P9TU+T/UlLk/1FR4/9QUOP/T0/j/05O4/9MTOP/S0vj/0pK + 4v9JSeL/SEji/0dH4v9GRuL/RUXi/0RE4f9DQ+H/QkLh/0BA4f9AQOH/Pj7h/z094P88POD/Ozvg/zk5 + 4P84OOD/Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y4u3v8tLd7/LCze/ysr3f8qKt3/KCjd/ycn + 3f8mJt3/JSXc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2scWFtomFhbaABwc2wAWFtpcFxfa7RgY2v8ZGdv/Ghrb/xsb2/8cHNv/Hh7b/x8f3P8gINz/ISHc/yIi + 3P8jI9z/JCTc/yUl3f8nJ93/KCjd/ykp3f8qKt3/Kyve/y0t3v8uLt7/Ly/e/zAw3v8xMd//MzPf/zQ0 + 3/81Nd//Njbf/zc33/85OeD/Ojrg/zs74P88POD/PT3g/z4+4f8/P+H/QUHh/0JC4f9DQ+H/RETh/0VF + 4v9GRuL/R0fi/0hI4v9JSeL/Skri/0xM4/9MTOP/Tk7j/05O4/9PT+P/UFDj/1JS5P9TU+T/VFTk/1RU + 5P9VVeT/Vlbk/1dX5P9YWOX/WFjl/1pa5f9aWuX/W1vl/1tb5f9cXOX/XV3l/15e5f9eXub/X1/m/2Bg + 5v9gYOb/YWHm/2Fh5v9iYub/YmLm/2Nj5v9jY+b/Y2Pm/2Rk5v9kZOf/ZWXn/2Vl5/9lZef/Zmbn/2Zm + 5/9mZuf/Zmbn/2Zm5/9mZuf/Z2fn/2dn5/9nZ+f/Z2fn/2dn5/9mZuf/Z2fn/2dn5/9mZuf/Zmbn/2Zm + 5/9mZuf/Zmbn/2Vl5/9lZef/ZGTn/2Rk5/9kZOf/ZGTn/2Nj5v9jY+b/YmLm/2Fh5v9hYeb/YWHm/2Bg + 5v9fX+b/X1/m/15e5v9dXeX/XV3l/1xc5f9cXOX/W1vl/1pa5f9ZWeX/WFjl/1dX5P9XV+T/Vlbk/1VV + 5P9UVOT/U1Pk/1JS5P9RUeT/UFDj/09P4/9OTuP/TU3j/0xM4/9LS+L/Skri/0lJ4v9ISOL/R0fi/0ZG + 4v9FReL/RETh/0JC4f9BQeH/QEDh/z8/4f8+PuD/PT3g/zw84P87O+D/OTng/zg44P83N9//Njbf/zU1 + 3/80NN//MjLf/zEx3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yIi + 3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/GRnb/xgY2/8XF9r/Fhba+xYW2ogVFdoHFRXaABYW + 2gAWFtohFhbavBcX2v8YGNr/GRnb/xoa2/8bG9v/HBzb/x4e2/8fH9z/ICDc/yEh3P8jI9z/IyPc/yQk + 3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/yws3v8tLd7/LS3e/y8v3v8wMN7/MTHe/zMz3/80NN//NTXf/zY2 + 3/83N9//ODjg/zo64P87O+D/PDzg/z094P8+PuD/Pz/h/0FB4f9CQuH/QkLh/0ND4f9EROL/Rkbi/0dH + 4v9ISOL/SUni/0pK4v9LS+L/TEzj/01N4/9OTuP/T0/j/1BQ4/9RUeP/UlLk/1JS5P9TU+T/VFTk/1VV + 5P9WVuT/V1fk/1hY5f9YWOX/WVnl/1pa5f9bW+X/W1vl/1xc5f9dXeX/Xl7l/15e5v9eXub/X1/m/2Bg + 5v9gYOb/YGDm/2Bg5v9hYeb/YmLm/2Ji5v9jY+b/Y2Pm/2Nj5v9jY+b/ZGTm/2Rk5v9kZOb/ZGTm/2Rk + 5/9kZOf/ZGTn/2Rk5/9kZOf/ZGTn/2Vl5/9lZef/ZWXn/2Rk5/9kZOf/ZGTn/2Rk5v9jY+b/Y2Pm/2Nj + 5v9jY+b/Y2Pm/2Ji5v9iYub/YmLm/2Fh5v9hYeb/YGDm/19f5v9fX+b/X1/m/15e5v9dXeX/XV3l/1xc + 5f9bW+X/W1vl/1pa5f9ZWeX/WVnl/1hY5f9YWOX/Vlbk/1VV5P9VVeT/VFTk/1NT5P9SUuT/UVHk/1BQ + 4/9QUOP/Tk7j/01N4/9NTeP/TEzj/0pK4v9KSuL/SUni/0dH4v9GRuL/Rkbi/0RE4v9DQ+H/QkLh/0FB + 4f9AQOH/Pz/h/z094P88POD/Ozvg/zo64P85OeD/ODjf/zc33/82Nt//NTXf/zMz3/8yMt//MTHe/y8v + 3v8uLt7/LS3e/yws3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yIi3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba3hYW2j4WFtoAAAAAABUV2gAVFdoCFRXaaxYW + 2vQXF9r/GBjb/xoa2/8aGtv/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IyPc/yMj3P8lJdz/Jibd/ycn + 3f8pKd3/KSnd/yoq3f8rK97/LCze/y4u3v8vL97/MDDe/zEx3v8zM9//MzPf/zQ03/82Nt//Nzff/zg4 + 4P86OuD/Ozvg/zw84P88POD/Pj7g/z8/4f9AQOH/QUHh/0JC4f9DQ+H/RETi/0ZG4v9HR+L/R0fi/0lJ + 4v9KSuL/S0vi/0tL4/9MTOP/Tk7j/05O4/9PT+P/UFDj/1FR5P9SUuT/UlLk/1NT5P9UVOT/VVXk/1ZW + 5P9XV+T/V1fk/1hY5f9ZWeX/WVnl/1pa5f9bW+X/XFzl/1xc5f9cXOX/XV3l/15e5v9eXub/Xl7m/19f + 5v9fX+b/YGDm/2Bg5v9hYeb/YWHm/2Fh5v9hYeb/YmLm/2Ji5v9iYub/YmLm/2Nj5v9jY+b/YmLm/2Ji + 5v9jY+b/YmLm/2Nj5v9jY+b/Y2Pm/2Ji5v9iYub/YmLm/2Ji5v9iYub/YmLm/2Ji5v9hYeb/YWHm/2Bg + 5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/15e5f9dXeX/XV3l/1xc5f9bW+X/W1vl/1pa5f9aWuX/WVnl/1hY + 5f9YWOX/V1fk/1ZW5P9WVuT/VVXk/1RU5P9TU+T/U1Pk/1FR5P9QUOP/UFDj/09P4/9OTuP/TU3j/0xM + 4/9LS+P/Skri/0lJ4v9JSeL/R0fi/0ZG4v9FReL/RETh/0ND4f9CQuH/QUHh/0BA4f8/P+H/PT3g/zw8 + 4P87O+D/Ojrg/zk54P83N9//Nzff/zY23/81Nd//MzPf/zIy3/8xMd7/Ly/e/y8v3v8tLd7/LCze/ysr + 3f8qKt3/KCjd/ygo3f8mJt3/JSXd/yUl3P8jI9z/IiLc/yAg3P8gINz/Hh7b/x0d2/8cHNv/Gxvb/xkZ + 2/8ZGdv/GBjb/xcX2v8WFtr9FhbamBUV2gwVFdoAAAAAAAAAAAAWFtoAFRXaIBYW2rwXF9r/GBja/xkZ + 2/8ZGdv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8kJNz/JSXc/yYm3f8nJ93/KCjd/ykp + 3f8qKt3/LCze/yws3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zMz3/80NN//Njbf/zc33/84OOD/OTng/zs7 + 4P88POD/PT3g/z4+4P8/P+H/QEDh/0FB4f9CQuH/Q0Ph/0RE4f9FReL/Rkbi/0dH4v9ISOL/SUni/0pK + 4v9LS+P/TEzj/0xM4/9NTeP/T0/j/09P4/9QUOP/UVHj/1JS5P9SUuT/U1Pk/1RU5P9VVeT/VVXk/1ZW + 5P9XV+T/WFjl/1hY5f9ZWeX/WVnl/1pa5f9bW+X/W1vl/1xc5f9cXOX/XV3l/11d5f9eXuX/Xl7l/19f + 5v9fX+b/X1/m/19f5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9hYeb/YGDm/2Fh5v9hYeb/YWHm/2Fh + 5v9hYeb/YWHm/2Fh5v9gYOb/YGDm/2Bg5v9gYOb/YGDm/2Bg5v9fX+b/X1/m/19f5v9eXub/Xl7l/11d + 5f9dXeX/XV3l/1xc5f9cXOX/W1vl/1pa5f9aWuX/WVnl/1lZ5f9YWOX/V1fk/1dX5P9WVuT/VVXk/1RU + 5P9UVOT/U1Pk/1JS5P9RUeT/UVHj/1BQ4/9PT+P/Tk7j/01N4/9MTOP/S0vj/0pK4v9KSuL/SEji/0dH + 4v9HR+L/RUXi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4P89PeD/PDzg/zs74P86OuD/ODjg/zc3 + 3/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Li7e/y0t3v8sLN7/Kyvd/yoq3f8pKd3/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/x8f3P8fH9z/Hh7b/xwc2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW + 2v8VFdraFRXaQRYW2gAVFdoAAAAAAAAAAAAVFdoAFhbaAhUV2loWFtroFxfa/xgY2v8ZGdv/Ghrb/xsb + 2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kyvd/ysr + 3v8sLN7/Li7e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zY23/83N9//ODjg/zk54P86OuD/Ozvg/zw8 + 4P89PeD/Pj7h/0BA4f9BQeH/QUHh/0ND4f9DQ+H/RETh/0ZG4v9GRuL/R0fi/0hI4v9JSeL/Skri/0tL + 4v9LS+P/TU3j/01N4/9PT+P/UFDj/1BQ4/9QUOP/UVHk/1NT5P9TU+T/VFTk/1RU5P9VVeT/Vlbk/1ZW + 5P9XV+T/WFjl/1hY5f9ZWeX/WVnl/1pa5f9aWuX/W1vl/1xc5f9cXOX/XFzl/1xc5f9dXeX/XV3l/11d + 5f9dXeX/Xl7m/15e5v9eXub/Xl7m/15e5v9eXub/X1/m/19f5v9fX+b/X1/m/19f5v9fX+b/X1/m/19f + 5v9fX+b/X1/m/15e5v9eXub/XV3l/11d5f9dXeX/XV3l/11d5f9cXOX/XFzl/1tb5f9bW+X/Wlrl/1pa + 5f9aWuX/WVnl/1hY5f9YWOX/WFjl/1dX5P9WVuT/VVXk/1VV5P9UVOT/U1Pk/1JS5P9SUuT/UVHk/1FR + 4/9QUOP/T0/j/05O4/9NTeP/TEzj/0tL4/9LS+L/Skri/0lJ4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND + 4f9CQuH/QUHh/0BA4f8/P+H/Pj7g/z094P88POD/Ojrg/zo64P84OOD/Nzff/zY23/81Nd//NDTf/zIy + 3/8xMd7/MDDe/zAw3v8uLt7/LS3e/yws3v8rK93/Kird/ykp3f8oKN3/Jibd/yUl3f8kJNz/IyPc/yIi + 3P8hIdz/ICDc/x4e2/8eHtv/HR3b/xwc2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xYW2vYVFdqDFBTaChQU + 2gAAAAAAAAAAAAAAAAATE9oAFRXaABUV2hMVFdqYFhba+hcX2v8YGNr/GRnb/xoa2/8bG9v/HBzb/x0d + 2/8eHtv/Hx/c/yEh3P8iItz/IiLc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK97/LCze/y4u + 3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ03/81Nd//Nzff/zc33/85OeD/Ojrg/zo64P88POD/PT3g/z4+ + 4P8/P+H/QEDh/0FB4f9CQuH/Q0Ph/0RE4f9FReL/Rkbi/0dH4v9ISOL/SEji/0lJ4v9KSuL/S0vj/0xM + 4/9NTeP/Tk7j/09P4/9PT+P/UFDj/1FR4/9RUeT/UlLk/1NT5P9UVOT/VFTk/1VV5P9VVeT/Vlbk/1ZW + 5P9XV+T/V1fk/1dX5P9YWOX/WVnl/1pa5f9aWuX/Wlrl/1tb5f9bW+X/W1vl/1tb5f9bW+X/XFzl/1xc + 5f9dXeX/XFzl/1xc5f9dXeX/XV3l/11d5f9dXeX/XV3l/11d5f9dXeX/XV3l/11d5f9dXeX/XFzl/1xc + 5f9cXOX/XFzl/1tb5f9bW+X/W1vl/1pa5f9aWuX/Wlrl/1lZ5f9ZWeX/WVnl/1hY5f9YWOX/WFjl/1dX + 5P9WVuT/VVXk/1VV5P9UVOT/VFTk/1NT5P9SUuT/UlLk/1FR4/9RUeP/UFDj/09P4/9OTuP/TU3j/0xM + 4/9MTOP/S0vi/0pK4v9JSeL/SEji/0dH4v9GRuL/RUXi/0RE4f9DQ+H/QkLh/0FB4f9AQOH/QEDh/z8/ + 4f89PeD/PDzg/zs74P86OuD/OTng/zg44P83N9//Njbf/zU13/80NN//MzPf/zIy3/8wMN7/Ly/e/y4u + 3v8tLd7/LCze/ysr3f8qKt3/KSnd/ygo3f8nJ93/JSXd/yQk3P8jI9z/IiLc/yEh3P8gINz/Hh7b/x0d + 2/8cHNv/Gxvb/xoa2/8ZGdv/GRnb/xcX2v8XF9r/Fhba/xUV2r0VFdopFhbaABAQ2QAAAAAAAAAAAAAA + AAAAAAAAFRXaABUV2gAVFdouFRXawBYW2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f + 3P8gINz/ISHc/yMj3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp3f8rK93/Kyve/y0t3v8uLt7/Ly/e/y8v + 3v8xMd7/MjLf/zMz3/80NN//NTXf/zY23/83N9//ODjg/zk54P86OuD/Ozvg/zw84P89PeD/Pz/h/z8/ + 4f9AQOH/QUHh/0ND4f9DQ+H/RETh/0VF4v9GRuL/R0fi/0hI4v9ISOL/SUni/0pK4v9LS+P/TEzj/01N + 4/9OTuP/Tk7j/09P4/9QUOP/UFDj/1FR4/9SUuT/UlLk/1NT5P9TU+T/VFTk/1VV5P9VVeT/VVXk/1ZW + 5P9XV+T/V1fk/1dX5P9XV+X/WFjl/1hY5f9ZWeX/WVnl/1lZ5f9aWuX/Wlrl/1pa5f9bW+X/Wlrl/1tb + 5f9bW+X/W1vl/1tb5f9bW+X/W1vl/1tb5f9bW+X/W1vl/1tb5f9bW+X/Wlrl/1pa5f9aWuX/Wlrl/1pa + 5f9aWuX/WVnl/1hY5f9YWOX/WFjl/1dX5P9XV+T/V1fk/1ZW5P9WVuT/Vlbk/1VV5P9UVOT/U1Pk/1NT + 5P9TU+T/UlLk/1FR5P9RUeP/UFDj/09P4/9PT+P/Tk7j/01N4/9MTOP/S0vj/0tL4v9KSuL/SUni/0hI + 4v9HR+L/Rkbi/0ZG4v9FReL/RETh/0ND4f9BQeH/QUHh/0BA4f8/P+H/Pj7h/z094P88POD/Ozvg/zo6 + 4P85OeD/ODjf/zc33/81Nd//NDTf/zQ03/8zM9//MjLf/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq + 3f8pKd3/Jyfd/ycn3f8mJt3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa + 2/8ZGdv/GBja/xcX2v8WFtr/FRXa3hUV2kwSEtoBExPaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQU + 2gAUFNoCFRXaTRUV2twWFtr/Fxfa/xgY2v8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh + 3P8jI9z/JCTc/yQk3P8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr3v8tLd7/LS3e/y4u3v8wMN7/MTHe/zEx + 3/8yMt//NDTf/zU13/82Nt//Nzff/zg44P85OeD/Ojrg/zs74P88POD/PT3g/z4+4P8+PuH/Pz/h/0FB + 4f9BQeH/Q0Ph/0ND4f9FReL/RUXi/0ZG4v9HR+L/SEji/0lJ4v9KSuL/Skri/0tL4/9MTOP/TEzj/01N + 4/9OTuP/Tk7j/09P4/9QUOP/UVHj/1FR5P9SUuT/UlLk/1NT5P9TU+T/VFTk/1RU5P9VVeT/VVXk/1VV + 5P9WVuT/V1fk/1ZW5P9XV+T/V1fl/1hY5f9YWOX/WFjl/1hY5f9ZWeX/WVnl/1lZ5f9ZWeX/WVnl/1lZ + 5f9aWuX/WVnl/1lZ5f9ZWeX/WVnl/1lZ5f9ZWeX/WVnl/1lZ5f9YWOX/WFjl/1hY5f9YWOX/V1fk/1dX + 5P9XV+T/Vlbk/1VV5P9VVeT/VVXk/1VV5P9UVOT/VFTk/1NT5P9SUuT/UlLk/1FR5P9RUeP/UFDj/09P + 4/9PT+P/Tk7j/01N4/9NTeP/TEzj/0tL4/9LS+L/Skri/0lJ4v9ISOL/SEji/0dH4v9GRuL/RUXi/0RE + 4f9DQ+H/QkLh/0FB4f9AQOH/Pz/h/z4+4f8+PuD/PT3g/zw84P86OuD/OTng/zg44P83N9//Njbf/zU1 + 3/80NN//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/ysr3v8qKt3/KSnd/ygo3f8nJ93/Jibd/yUl + 3f8kJNz/IyPc/yIi3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/GRnb/xgY2/8YGNr/Fxfa/xYW + 2v8VFdrtFBTadBMT2ggUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFNoAFBTaBxQU + 2mcVFdrkFhba/xcX2v8YGNv/GRnb/xoa2/8bG9v/HR3b/x0d2/8eHtv/Hx/c/yAg3P8iItz/IyPc/yMj + 3P8lJdz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK97/LCze/y0t3v8uLt7/Ly/e/zAw3v8xMd7/MzPf/zQ0 + 3/81Nd//NTXf/zY23/83N9//OTng/zk54P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f9AQOH/QUHh/0JC + 4f9DQ+H/RETh/0RE4f9GRuL/R0fi/0dH4v9ISOL/SEji/0lJ4v9KSuL/S0vi/0tL4/9MTOP/TU3j/05O + 4/9OTuP/Tk7j/1BQ4/9QUOP/UFDj/1FR4/9RUeT/UlLk/1NT5P9TU+T/U1Pk/1RU5P9UVOT/VVXk/1VV + 5P9VVeT/VVXk/1VV5P9WVuT/V1fk/1ZW5P9WVuT/V1fk/1dX5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1dX + 5P9XV+T/V1fk/1dX5P9XV+T/V1fk/1ZW5P9WVuT/Vlbk/1ZW5P9WVuT/VVXk/1VV5P9VVeT/VFTk/1RU + 5P9UVOT/U1Pk/1NT5P9SUuT/UlLk/1FR5P9QUOP/UFDj/1BQ4/9PT+P/Tk7j/05O4/9NTeP/TEzj/0tL + 4/9LS+L/Skri/0lJ4v9JSeL/SEji/0dH4v9GRuL/Rkbi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QEDh/0BA + 4f8/P+H/Pj7h/z094P88POD/Ozvg/zo64P85OeD/ODjg/zc33/82Nt//NTXf/zQ03/8zM9//MjLf/zEx + 3v8wMN7/Ly/e/y4u3v8tLd7/Kyve/yoq3f8pKd3/KCjd/ycn3f8nJ93/JSXd/yQk3P8jI9z/IiLc/yEh + 3P8gINz/Hx/c/x0d2/8cHNv/HBzb/xsb2/8ZGdv/GBja/xcX2v8XF9r/Fhba/xUV2vQVFdqLFRXaFBYW + 2gAUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD9kAFRXaABQU2gsVFdpxFhba5hcX + 2v8XF9r/GBja/xkZ2/8aGtv/Gxvb/xwc2/8dHdv/Hh7b/x8f3P8gINz/IiLc/yMj3P8jI9z/JCTc/yUl + 3f8nJ93/KCjd/ykp3f8qKt3/Kyvd/yws3v8tLd7/Li7e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU1 + 3/82Nt//Nzff/zg44P85OeD/Ojrg/zs74P88POD/PT3g/z4+4P8+PuH/Pz/h/0BA4f9BQeH/QkLh/0ND + 4f9EROH/RETh/0VF4v9GRuL/R0fi/0hI4v9JSeL/SUni/0lJ4v9KSuL/S0vj/0xM4/9MTOP/TEzj/05O + 4/9OTuP/Tk7j/09P4/9QUOP/UFDj/1FR4/9RUeT/UlLk/1JS5P9TU+T/U1Pk/1NT5P9TU+T/VFTk/1RU + 5P9UVOT/VFTk/1RU5P9UVOT/VVXk/1VV5P9VVeT/VVXk/1VV5P9VVeT/VVXk/1VV5P9VVeT/VVXk/1VV + 5P9VVeT/VVXk/1VV5P9UVOT/VFTk/1RU5P9UVOT/U1Pk/1NT5P9TU+T/UlLk/1JS5P9SUuT/UlLk/1FR + 4/9QUOP/UFDj/1BQ4/9PT+P/T0/j/05O4/9NTeP/TU3j/0xM4/9LS+P/S0vi/0pK4v9JSeL/SUni/0hI + 4v9ISOL/R0fi/0ZG4v9FReL/RETh/0ND4f9CQuH/QkLh/0BA4f9AQOH/Pz/h/z4+4f8+PuD/PDzg/zs7 + 4P86OuD/OTng/zg44P84ON//Nzff/zY23/80NN//MzPf/zIy3/8xMd7/MDDe/y8v3v8uLt7/LS3e/y0t + 3v8rK97/Kird/ykp3f8oKN3/Jyfd/yYm3f8lJd3/JCTc/yMj3P8iItz/ISHc/x8f3P8fH9z/Hh7b/xwc + 2/8cHNv/Gxvb/xkZ2/8ZGdv/GBja/xcX2v8WFtr/FRXa9BUV2pQVFdoaFBTaABcX2gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUV2gAVFdoPFRXabRUV2uIWFtr/Fxfa/xkZ + 2/8ZGdv/Ghrb/xsb2/8cHNv/HR3b/x4e2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8lJd3/Jyfd/ygo + 3f8oKN3/KSnd/ysr3f8rK97/LS3e/y4u3v8uLt7/Ly/e/zEx3v8xMd7/MzPf/zQ03/80NN//Njbf/zY2 + 3/84ON//ODjg/zo64P86OuD/Ozvg/zw84P89PeD/Pj7g/z8/4f8/P+H/QEDh/0FB4f9CQuH/QkLh/0ND + 4f9EROH/RUXi/0ZG4v9HR+L/R0fi/0hI4v9JSeL/SUni/0pK4v9LS+L/S0vj/0xM4/9MTOP/TU3j/05O + 4/9OTuP/Tk7j/09P4/9PT+P/UFDj/1BQ4/9RUeP/UVHj/1FR4/9RUeP/UlLk/1JS5P9SUuT/UlLk/1JS + 5P9SUuT/UlLk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT5P9TU+T/U1Pk/1NT + 5P9SUuT/UlLk/1JS5P9SUuT/UlLk/1FR5P9RUeP/UVHj/1BQ4/9QUOP/UFDj/09P4/9PT+P/Tk7j/05O + 4/9NTeP/TU3j/0xM4/9MTOP/S0vj/0pK4v9JSeL/SUni/0hI4v9HR+L/R0fi/0ZG4v9GRuL/RUXi/0RE + 4f9EROH/QkLh/0JC4f9BQeH/QEDh/z8/4f8+PuH/PT3g/z094P88POD/Ojrg/zo64P85OeD/ODjf/zc3 + 3/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Ly/e/y4u3v8tLd7/LCze/ysr3f8qKt3/KSnd/ygo + 3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yIi3P8hIdz/ICDc/x4e2/8dHdv/HR3b/xwc2/8bG9v/Ghrb/xkZ + 2/8YGNr/Fxfa/xYW2v8VFdrvFRXakBUV2hwUFNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFdoAFRXaChUV2mAVFdrUFhba/RcX2v8YGNv/GRnb/xoa + 2/8bG9v/HBzb/x0d2/8eHtv/Hx/c/yAg3P8hIdz/IiLc/yQk3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ykp + 3f8qKt3/Kyvd/yws3v8tLd7/Ly/e/y8v3v8wMN7/MTHe/zIy3/8zM9//NDTf/zU13/82Nt//Nzff/zg4 + 4P85OeD/Ojrg/zs74P87O+D/PDzg/z094P8+PuD/Pz/h/0BA4f9AQOH/QUHh/0JC4f9DQ+H/Q0Ph/0VF + 4v9FReL/Rkbi/0ZG4v9HR+L/SEji/0hI4v9JSeL/Skri/0pK4v9LS+L/S0vj/0xM4/9MTOP/TU3j/01N + 4/9NTeP/Tk7j/05O4/9OTuP/T0/j/09P4/9PT+P/UFDj/1BQ4/9QUOP/UFDj/1BQ4/9RUeP/UVHj/1FR + 5P9RUeT/UVHj/1FR5P9RUeT/UVHk/1FR5P9RUeT/UVHj/1FR4/9RUeT/UVHk/1FR4/9QUOP/UFDj/1BQ + 4/9QUOP/UFDj/09P4/9PT+P/T0/j/05O4/9OTuP/Tk7j/05O4/9NTeP/TEzj/0xM4/9MTOP/S0vj/0pK + 4v9KSuL/SUni/0hI4v9ISOL/R0fi/0dH4v9FReL/RUXi/0VF4v9EROH/Q0Ph/0JC4f9BQeH/QUHh/0BA + 4f8/P+H/Pj7h/z094P89PeD/PDzg/zs74P86OuD/OTng/zg44P84ON//Njbf/zU13/81Nd//MzPf/zMz + 3/8yMt//MDDe/y8v3v8vL97/Li7e/yws3v8sLN7/Kyvd/yoq3f8pKd3/KCjd/yYm3f8lJd3/JSXc/yQk + 3P8jI9z/IiLc/yAg3P8gINz/Hx/c/x4e2/8dHdv/Gxvb/xsb2/8aGtv/GRnb/xgY2v8XF9r/Fhba/xUV + 2uYVFdqAFRXaFxQU2gAVFdoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAeHtsAFRXaABQU2gUWFtpBFhbasxcX2vYYGNr/GRnb/xkZ2/8aGtv/Gxvb/xwc + 2/8dHdv/Hh7b/x8f3P8gINz/ISHc/yIi3P8jI9z/JCTc/yUl3f8mJt3/Jyfd/ygo3f8pKd3/Kird/ysr + 3f8sLN7/LS3e/y4u3v8vL97/MDDe/zEx3v8yMt//MjLf/zQ03/81Nd//NTXf/zY23/83N9//ODjg/zk5 + 4P86OuD/Ojrg/zs74P88POD/PT3g/z4+4P8/P+H/QEDh/0BA4f9BQeH/QUHh/0JC4f9DQ+H/RETh/0RE + 4f9FReL/Rkbi/0ZG4v9HR+L/SEji/0hI4v9ISOL/SUni/0pK4v9KSuL/S0vj/0tL4/9MTOP/TEzj/0xM + 4/9NTeP/TU3j/01N4/9OTuP/Tk7j/05O4/9OTuP/T0/j/09P4/9PT+P/T0/j/09P4/9PT+P/T0/j/09P + 4/9PT+P/T0/j/09P4/9PT+P/UFDj/1BQ4/9QUOP/T0/j/09P4/9PT+P/T0/j/05O4/9OTuP/TU3j/01N + 4/9OTuP/TU3j/01N4/9MTOP/TEzj/0xM4/9LS+P/Skri/0pK4v9KSuL/SUni/0hI4v9ISOL/R0fi/0dH + 4v9GRuL/Rkbi/0VF4v9EROH/Q0Ph/0ND4f9CQuH/QkLh/0FB4f9AQOH/Pz/h/z4+4f89PeD/PT3g/zw8 + 4P87O+D/Ojrg/zk54P84OOD/ODjf/zc33/82Nt//NTXf/zQ03/8zM9//MjLf/zEx3v8wMN7/Ly/e/y4u + 3v8tLd7/LS3e/ysr3v8rK93/Kird/ykp3f8nJ93/Jyfd/yYm3f8kJNz/IyPc/yMj3P8iItz/ICDc/x8f + 3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8ZGdv/GBja/xcX2v8WFtr6FRXazBUV2lsUFNoMFBTaABER + 2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABUV2gAVFdoBFhbaIxcX2oIXF9raGBja/RgY2/8ZGdv/Ghrb/xsb2/8dHdv/HR3b/x4e + 2/8fH9z/ICDc/yEh3P8iItz/IyPc/yQk3P8kJNz/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/yws + 3v8uLt7/Ly/e/y8v3v8wMN7/MTHe/zIy3/80NN//NDTf/zQ03/82Nt//Nzff/zc33/84OOD/OTng/zo6 + 4P87O+D/Ozvg/zw84P89PeD/Pj7g/z4+4f8/P+H/QEDh/0FB4f9CQuH/QkLh/0ND4f9EROH/RETh/0VF + 4v9FReL/Rkbi/0ZG4v9GRuL/R0fi/0hI4v9ISOL/SUni/0lJ4v9KSuL/Skri/0tL4v9LS+P/S0vj/0xM + 4/9MTOP/TEzj/0xM4/9NTeP/TU3j/01N4/9NTeP/Tk7j/01N4/9NTeP/TU3j/01N4/9OTuP/Tk7j/05O + 4/9OTuP/Tk7j/05O4/9OTuP/TU3j/01N4/9NTeP/TU3j/0xM4/9MTOP/TEzj/0xM4/9LS+P/S0vj/0tL + 4/9KSuL/Skri/0pK4v9JSeL/SEji/0hI4v9ISOL/R0fi/0dH4v9GRuL/Rkbi/0VF4v9EROH/RETh/0ND + 4f9CQuH/QkLh/0FB4f9BQeH/QEDh/z8/4f8+PuH/Pj7g/z094P88POD/Ozvg/zs74P86OuD/OTng/zg4 + 3/83N9//Njbf/zY23/80NN//MzPf/zMz3/8yMt//MTHe/zAw3v8vL97/Li7e/y0t3v8sLN7/Kyvd/yoq + 3f8pKd3/KCjd/ygo3f8mJt3/Jibd/yQk3P8jI9z/IiLc/yEh3P8hIdz/Hx/c/x4e2/8dHdv/HBzb/xsb + 2/8bG9v/Ghrb/xkZ2/8YGNr/Fxfa/xYW2ugWFtqbFRXaOBQU2gMVFdoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATE9oAGhrbABUV2goXF9pEFxfaoRgY2ucYGNr8GRnb/xoa2/8cHNv/HBzb/x0d2/8eHtv/Hx/c/yAg + 3P8hIdz/ISHc/yIi3P8jI9z/JSXc/yYm3f8mJt3/Jyfd/ygo3f8pKd3/Kyvd/ysr3v8sLN7/LS3e/y4u + 3v8vL97/MDDe/zEx3v8yMt//MzPf/zQ03/80NN//NTXf/zY23/83N9//ODjf/zg44P85OeD/Ojrg/zs7 + 4P88POD/PDzg/z094P8+PuD/Pz/h/z8/4f9AQOH/QEDh/0FB4f9CQuH/Q0Ph/0ND4f9EROH/RETh/0VF + 4v9FReL/Rkbi/0ZG4v9HR+L/R0fi/0hI4v9ISOL/SUni/0lJ4v9JSeL/SUni/0lJ4v9KSuL/Skri/0pK + 4v9LS+P/S0vj/0tL4/9LS+P/S0vj/0xM4/9MTOP/TEzj/0xM4/9LS+P/TEzj/0xM4/9MTOP/TEzj/0xM + 4/9MTOP/S0vj/0tL4/9LS+P/S0vj/0pK4v9KSuL/Skri/0pK4v9KSuL/SUni/0lJ4v9ISOL/SEji/0hI + 4v9HR+L/R0fi/0dH4v9GRuL/Rkbi/0VF4v9EROH/RETh/0ND4f9DQ+H/QkLh/0JC4f9BQeH/QEDh/0BA + 4f8/P+H/Pj7g/z4+4P89PeD/PDzg/zs74P86OuD/Ojrg/zk54P85OeD/ODjf/zY23/82Nt//NTXf/zQ0 + 3/8zM9//MjLf/zIy3/8xMd7/Ly/e/y4u3v8uLt7/LS3e/ysr3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm + 3f8lJd3/JCTc/yMj3P8iItz/ISHc/yAg3P8fH9z/Hh7b/x0d2/8cHNv/Gxvb/xoa2/8aGtv/GRnb/xgY + 2v4XF9rvFhbauBYW2lkVFdoUFhbaABUV2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYW + 2gAWFtoBFxfaEBgY2koYGNqdGBjb2BkZ2/YaGtv/Gxvb/xwc2/8cHNv/Hh7b/x8f3P8fH9z/ICDc/yEh + 3P8iItz/IyPc/yQk3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/Kyve/y0t3v8uLt7/Li7e/y8v + 3v8wMN7/MTHe/zIy3/8zM9//MzPf/zQ03/81Nd//Njbf/zc33/84ON//OTng/zk54P86OuD/Ojrg/zs7 + 4P88POD/PT3g/z094P8+PuD/Pj7h/z8/4f9AQOH/QEDh/0FB4f9CQuH/Q0Ph/0ND4f9DQ+H/RETh/0RE + 4f9FReL/RUXi/0ZG4v9HR+L/R0fi/0dH4v9HR+L/R0fi/0hI4v9ISOL/SEji/0lJ4v9JSeL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9KSuL/Skri/0pK4v9KSuL/Skri/0pK4v9KSuL/Skri/0pK4v9JSeL/SUni/0lJ + 4v9JSeL/SUni/0lJ4v9ISOL/SEji/0hI4v9ISOL/SEji/0dH4v9GRuL/Rkbi/0ZG4v9GRuL/RUXi/0VF + 4v9EROH/RETh/0ND4f9DQ+H/QkLh/0JC4f9BQeH/QEDh/0BA4f8/P+H/Pj7h/z094P89PeD/PDzg/zw8 + 4P87O+D/Ojrg/zo64P85OeD/ODjf/zc33/83N9//Njbf/zU13/80NN//MzPf/zIy3/8xMd7/MTHe/zAw + 3v8vL97/Li7e/y0t3v8sLN7/Kyve/yoq3f8pKd3/KCjd/ygo3f8nJ93/JSXd/yUl3P8kJNz/IyPc/yIi + 3P8hIdz/ICDc/x8f3P8eHtv/HR3b/xwc2/8bG9v/Gxvb/xoa2/8YGNv6GBja4hcX2q8WFtpeFhbaGxYW + 2gIWFtoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhbaABUV + 2gAXF9oPGBjaOBkZ23QZGdutGhrb1Bsb2+8cHNv7HBzb/h4e2/8fH9z/ICDc/yAg3P8hIdz/IiLc/yMj + 3P8kJNz/JSXd/yYm3f8nJ93/KCjd/ygo3f8qKt3/Kyvd/ysr3f8sLN7/LS3e/y4u3v8vL97/MDDe/zEx + 3v8xMd7/MjLf/zMz3/80NN//NTXf/zU13/82Nt//Nzff/zg43/84OOD/OTng/zo64P86OuD/Ozvg/zs7 + 4P88POD/PT3g/z4+4P8+PuD/Pz/h/0BA4f9AQOH/QUHh/0FB4f9CQuH/QkLh/0JC4f9DQ+H/RETh/0RE + 4f9FReL/RUXi/0VF4v9FReL/Rkbi/0ZG4v9GRuL/R0fi/0dH4v9HR+L/R0fi/0dH4v9ISOL/SEji/0hI + 4v9ISOL/SEji/0hI4v9ISOL/SEji/0hI4v9ISOL/SEji/0hI4v9ISOL/R0fi/0dH4v9HR+L/R0fi/0dH + 4v9GRuL/Rkbi/0ZG4v9GRuL/Rkbi/0VF4v9FReL/RETh/0RE4f9EROH/Q0Ph/0ND4f9DQ+H/QkLh/0FB + 4f9BQeH/QEDh/0BA4f8/P+H/Pj7h/z4+4P8+PuD/PT3g/zw84P87O+D/Ozvg/zs74P86OuD/OTng/zg4 + 4P83N9//Njbf/zY23/81Nd//NDTf/zMz3/8yMt//MjLf/zEx3v8wMN7/Ly/e/y8v3v8uLt7/LS3e/ysr + 3v8rK93/Kird/ykp3f8oKN3/Jyfd/yYm3f8mJt3/JCTc/yMj3P8jI9z/IiLc/yEh3P8gINz/Hx/c/x4e + 2/8dHdv/HBzb/xsb2/wbG9vzGhrb3BkZ27gYGNqDFxfaRxcX2hcWFtoCFhbaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHNsAGBjaABgY + 2wQZGdsZGhrbNxoa22UbG9uTHBzbtx0d29UdHdvoHh7b8x8f3PwgINz/ISHc/yMj3P8jI9z/JCTc/yUl + 3P8lJd3/Jibd/ycn3f8oKN3/KSnd/yoq3f8rK93/LCze/y0t3v8uLt7/Li7e/y8v3v8wMN7/MTHe/zEx + 3v8zM9//MzPf/zQ03/81Nd//NTXf/zY23/83N9//ODjg/zk54P85OeD/Ojrg/zo64P87O+D/PDzg/zw8 + 4P89PeD/PT3g/z4+4P8/P+H/Pz/h/0BA4f9AQOH/QEDh/0FB4f9CQuH/QkLh/0ND4f9DQ+H/Q0Ph/0ND + 4f9EROH/RETh/0RE4v9FReL/RUXi/0ZG4v9FReL/Rkbi/0ZG4v9GRuL/Rkbi/0ZG4v9GRuL/R0fi/0dH + 4v9GRuL/R0fi/0dH4v9GRuL/Rkbi/0dH4v9GRuL/Rkbi/0ZG4v9FReL/RUXi/0ZG4v9FReL/RUXi/0VF + 4v9EROH/RETh/0RE4f9DQ+H/Q0Ph/0ND4f9CQuH/QkLh/0FB4f9BQeH/QEDh/0BA4f8/P+H/Pz/h/z8/ + 4f8+PuD/PT3g/z094P88POD/Ozvg/zo64P86OuD/Ojrg/zk54P84OOD/Nzff/zc33/82Nt//Njbf/zQ0 + 3/80NN//MzPf/zIy3/8xMd7/MDDe/zAw3v8vL97/Li7e/y4u3v8tLd7/LCze/yoq3f8pKd3/KSnd/ygo + 3f8nJ93/Jibd/yUl3f8kJNz/IyPc/yMj3P8iItz/ICDc/yAg3P8fH9z9Hh7b9hwc2+scHNvbGxvbvxoa + 250aGttxGhrbQhkZ2x8YGNoIHh7bAAsL2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAAAAAAAAAf////+ + AAAAAAAAAAAAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAA + AAAAAAAAAAAP///AAAAAAAAAAAAAAAAAAAAAAAAAAAAH//+AAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAB//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAB//+A + AAAAAAAAAAAAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAA + AAAAAAAAAAAP///4AAAAAAAAAAAAAAAAAAAAAAAAAAA////+AAAAAAAAAAAAAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAAAAAAAAAAAAf//4lQTkcNChoKAAAADUlIRFIAAAEAAAABABAGAAAADOJ0JQAAgABJ + REFUeNrc/WecnnXV7w1/1zGTMplJpvc+k0x67wFCbyKC2EVFrFixXFiw94qKHbErKuplR0EU6Z2EdNJ7 + z6T3ZI51v/j/1nnm3vvez7Wv/Vz73s/nyRs+QDI5z6P811q/toz/P/m1+oVNZU1lwKJ8ab6UB3lryc9K + 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 + + + \ No newline at end of file diff --git a/DisplayMagician/UIForms/GameAdaptor.cs b/DisplayMagician/UIForms/GameAdaptor.cs index 0cb5908..f84cdbb 100644 --- a/DisplayMagician/UIForms/GameAdaptor.cs +++ b/DisplayMagician/UIForms/GameAdaptor.cs @@ -46,7 +46,7 @@ namespace DisplayMagician.UIForms Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(() => { return false; }); - return game.GameBitmap.GetThumbnailImage(256, 256, myCallback, IntPtr.Zero); + return game.GameBitmap.Image.GetThumbnailImage(256, 256, myCallback, IntPtr.Zero); } catch (Exception ex) @@ -159,7 +159,7 @@ namespace DisplayMagician.UIForms { try { - mySizeF = game.GameBitmap.PhysicalDimension; + mySizeF = game.GameBitmap.Image.PhysicalDimension; gotSizeF = true; } catch (Exception ex) diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index b9cea74..8877b34 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -75,9 +75,8 @@ namespace DisplayMagician.UIForms this.tabp_game = new System.Windows.Forms.TabPage(); this.btn_find_examples_game = new System.Windows.Forms.Button(); this.p_standalone = new System.Windows.Forms.Panel(); - this.btn_exe_use_different_icon = new System.Windows.Forms.Button(); - this.txt_exe_use_different_icon = new System.Windows.Forms.TextBox(); - this.cb_exe_use_different_icon = new System.Windows.Forms.CheckBox(); + this.btn_choose_exe_icon = new System.Windows.Forms.Button(); + this.pb_exe_icon = new System.Windows.Forms.PictureBox(); this.cbx_exe_priority = new System.Windows.Forms.ComboBox(); this.lbl_exe_priority = new System.Windows.Forms.Label(); this.btn_exe_to_start = new System.Windows.Forms.Button(); @@ -94,11 +93,9 @@ namespace DisplayMagician.UIForms this.rb_standalone = new System.Windows.Forms.RadioButton(); this.rb_no_game = new System.Windows.Forms.RadioButton(); this.p_game = new System.Windows.Forms.Panel(); - this.btn_game_use_different_icon = new System.Windows.Forms.Button(); - this.txt_game_use_different_icon = new System.Windows.Forms.TextBox(); - this.cb_game_use_different_icon = new System.Windows.Forms.CheckBox(); + this.btn_choose_game_icon = new System.Windows.Forms.Button(); + this.pb_game_icon = new System.Windows.Forms.PictureBox(); this.lbl_no_game_libraries = new System.Windows.Forms.Label(); - this.lbl_game_library = new System.Windows.Forms.Label(); this.cbx_game_priority = new System.Windows.Forms.ComboBox(); this.ilv_games = new Manina.Windows.Forms.ImageListView(); this.cb_wait_alternative_game = new System.Windows.Forms.CheckBox(); @@ -111,6 +108,7 @@ namespace DisplayMagician.UIForms this.cb_args_game = new System.Windows.Forms.CheckBox(); this.lbl_game_timeout = new System.Windows.Forms.Label(); this.nud_timeout_game = new System.Windows.Forms.NumericUpDown(); + this.lbl_game_library = new System.Windows.Forms.Label(); this.rb_launcher = new System.Windows.Forms.RadioButton(); this.tabp_after = new System.Windows.Forms.TabPage(); this.groupBox2 = new System.Windows.Forms.GroupBox(); @@ -141,8 +139,10 @@ namespace DisplayMagician.UIForms this.tabp_before.SuspendLayout(); this.tabp_game.SuspendLayout(); this.p_standalone.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pb_exe_icon)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_executable)).BeginInit(); this.p_game.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pb_game_icon)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).BeginInit(); this.tabp_after.SuspendLayout(); this.groupBox2.SuspendLayout(); @@ -160,7 +160,7 @@ namespace DisplayMagician.UIForms this.btn_save.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_save.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_save.ForeColor = System.Drawing.Color.White; - this.btn_save.Location = new System.Drawing.Point(560, 868); + this.btn_save.Location = new System.Drawing.Point(560, 891); this.btn_save.Name = "btn_save"; this.btn_save.Size = new System.Drawing.Size(120, 40); this.btn_save.TabIndex = 6; @@ -176,7 +176,7 @@ namespace DisplayMagician.UIForms this.btn_cancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; this.btn_cancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_cancel.ForeColor = System.Drawing.Color.White; - this.btn_cancel.Location = new System.Drawing.Point(1008, 883); + this.btn_cancel.Location = new System.Drawing.Point(1008, 906); this.btn_cancel.Name = "btn_cancel"; this.btn_cancel.Size = new System.Drawing.Size(94, 25); this.btn_cancel.TabIndex = 5; @@ -215,7 +215,7 @@ namespace DisplayMagician.UIForms this.tabc_shortcut.Name = "tabc_shortcut"; this.tabc_shortcut.SelectedIndex = 0; this.tabc_shortcut.ShowToolTips = true; - this.tabc_shortcut.Size = new System.Drawing.Size(1090, 744); + this.tabc_shortcut.Size = new System.Drawing.Size(1090, 767); this.tabc_shortcut.TabIndex = 28; this.tabc_shortcut.Click += new System.EventHandler(this.tabc_shortcut_VisibleChanged); // @@ -232,7 +232,7 @@ namespace DisplayMagician.UIForms this.tabp_display.Location = new System.Drawing.Point(4, 32); this.tabp_display.Name = "tabp_display"; this.tabp_display.Padding = new System.Windows.Forms.Padding(3); - this.tabp_display.Size = new System.Drawing.Size(1082, 708); + this.tabp_display.Size = new System.Drawing.Size(1082, 731); this.tabp_display.TabIndex = 0; this.tabp_display.Text = "1. Choose Display Profile"; this.tabp_display.ToolTipText = "Choose which previously saved Display Profile you will use with this shortcut."; @@ -281,12 +281,12 @@ namespace DisplayMagician.UIForms this.ilv_saved_profiles.AllowPaneResize = false; this.ilv_saved_profiles.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.ilv_saved_profiles.Location = new System.Drawing.Point(0, 466); + this.ilv_saved_profiles.Location = new System.Drawing.Point(0, 477); this.ilv_saved_profiles.MultiSelect = false; this.ilv_saved_profiles.Name = "ilv_saved_profiles"; this.ilv_saved_profiles.PersistentCacheDirectory = ""; this.ilv_saved_profiles.PersistentCacheSize = ((long)(100)); - this.ilv_saved_profiles.Size = new System.Drawing.Size(1086, 184); + this.ilv_saved_profiles.Size = new System.Drawing.Size(1086, 258); this.ilv_saved_profiles.TabIndex = 24; this.ilv_saved_profiles.UseWIC = true; this.ilv_saved_profiles.View = Manina.Windows.Forms.View.HorizontalStrip; @@ -320,7 +320,7 @@ namespace DisplayMagician.UIForms this.tabp_audio.Location = new System.Drawing.Point(4, 32); this.tabp_audio.Name = "tabp_audio"; this.tabp_audio.Padding = new System.Windows.Forms.Padding(3); - this.tabp_audio.Size = new System.Drawing.Size(1082, 708); + this.tabp_audio.Size = new System.Drawing.Size(1082, 731); this.tabp_audio.TabIndex = 4; this.tabp_audio.Text = "2. Choose Audio"; // @@ -333,7 +333,7 @@ namespace DisplayMagician.UIForms this.lbl_no_active_capture_devices.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_no_active_capture_devices.ForeColor = System.Drawing.Color.White; this.lbl_no_active_capture_devices.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_active_capture_devices.Location = new System.Drawing.Point(126, 433); + this.lbl_no_active_capture_devices.Location = new System.Drawing.Point(126, 456); this.lbl_no_active_capture_devices.Name = "lbl_no_active_capture_devices"; this.lbl_no_active_capture_devices.Size = new System.Drawing.Size(831, 22); this.lbl_no_active_capture_devices.TabIndex = 36; @@ -350,7 +350,7 @@ namespace DisplayMagician.UIForms this.lbl_no_active_audio_devices.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_no_active_audio_devices.ForeColor = System.Drawing.Color.White; this.lbl_no_active_audio_devices.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_active_audio_devices.Location = new System.Drawing.Point(131, 151); + this.lbl_no_active_audio_devices.Location = new System.Drawing.Point(131, 162); this.lbl_no_active_audio_devices.Name = "lbl_no_active_audio_devices"; this.lbl_no_active_audio_devices.Size = new System.Drawing.Size(804, 22); this.lbl_no_active_audio_devices.TabIndex = 35; @@ -367,7 +367,7 @@ namespace DisplayMagician.UIForms this.lbl_disabled_shortcut_audio_chipset.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_disabled_shortcut_audio_chipset.ForeColor = System.Drawing.Color.White; this.lbl_disabled_shortcut_audio_chipset.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_disabled_shortcut_audio_chipset.Location = new System.Drawing.Point(263, 298); + this.lbl_disabled_shortcut_audio_chipset.Location = new System.Drawing.Point(263, 321); this.lbl_disabled_shortcut_audio_chipset.Name = "lbl_disabled_shortcut_audio_chipset"; this.lbl_disabled_shortcut_audio_chipset.Size = new System.Drawing.Size(557, 22); this.lbl_disabled_shortcut_audio_chipset.TabIndex = 34; @@ -648,7 +648,7 @@ namespace DisplayMagician.UIForms this.tabp_before.Location = new System.Drawing.Point(4, 32); this.tabp_before.Name = "tabp_before"; this.tabp_before.Padding = new System.Windows.Forms.Padding(3); - this.tabp_before.Size = new System.Drawing.Size(1082, 708); + this.tabp_before.Size = new System.Drawing.Size(1082, 731); this.tabp_before.TabIndex = 1; this.tabp_before.Text = "3. Choose what happens before"; // @@ -660,7 +660,7 @@ namespace DisplayMagician.UIForms this.btn_find_examples_startprograms.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_find_examples_startprograms.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_find_examples_startprograms.ForeColor = System.Drawing.Color.White; - this.btn_find_examples_startprograms.Location = new System.Drawing.Point(953, 134); + this.btn_find_examples_startprograms.Location = new System.Drawing.Point(953, 76); this.btn_find_examples_startprograms.Name = "btn_find_examples_startprograms"; this.btn_find_examples_startprograms.Size = new System.Drawing.Size(117, 25); this.btn_find_examples_startprograms.TabIndex = 40; @@ -687,7 +687,7 @@ namespace DisplayMagician.UIForms this.btn_add_new_start_program.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_add_new_start_program.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_add_new_start_program.ForeColor = System.Drawing.Color.White; - this.btn_add_new_start_program.Location = new System.Drawing.Point(424, 123); + this.btn_add_new_start_program.Location = new System.Drawing.Point(424, 65); this.btn_add_new_start_program.Name = "btn_add_new_start_program"; this.btn_add_new_start_program.Size = new System.Drawing.Size(235, 40); this.btn_add_new_start_program.TabIndex = 38; @@ -703,9 +703,9 @@ namespace DisplayMagician.UIForms this.flp_start_programs.AutoScrollMinSize = new System.Drawing.Size(5, 0); this.flp_start_programs.BackColor = System.Drawing.Color.White; this.flp_start_programs.Dock = System.Windows.Forms.DockStyle.Bottom; - this.flp_start_programs.Location = new System.Drawing.Point(3, 197); + this.flp_start_programs.Location = new System.Drawing.Point(3, 130); this.flp_start_programs.Name = "flp_start_programs"; - this.flp_start_programs.Size = new System.Drawing.Size(1076, 508); + this.flp_start_programs.Size = new System.Drawing.Size(1076, 598); this.flp_start_programs.TabIndex = 0; // // tabp_game @@ -722,7 +722,7 @@ namespace DisplayMagician.UIForms this.tabp_game.Location = new System.Drawing.Point(4, 32); this.tabp_game.Name = "tabp_game"; this.tabp_game.Padding = new System.Windows.Forms.Padding(3); - this.tabp_game.Size = new System.Drawing.Size(1082, 708); + this.tabp_game.Size = new System.Drawing.Size(1082, 731); this.tabp_game.TabIndex = 2; this.tabp_game.Text = "4. Choose Game to start"; // @@ -744,9 +744,8 @@ namespace DisplayMagician.UIForms // // p_standalone // - this.p_standalone.Controls.Add(this.btn_exe_use_different_icon); - this.p_standalone.Controls.Add(this.txt_exe_use_different_icon); - this.p_standalone.Controls.Add(this.cb_exe_use_different_icon); + this.p_standalone.Controls.Add(this.btn_choose_exe_icon); + this.p_standalone.Controls.Add(this.pb_exe_icon); this.p_standalone.Controls.Add(this.cbx_exe_priority); this.p_standalone.Controls.Add(this.lbl_exe_priority); this.p_standalone.Controls.Add(this.btn_exe_to_start); @@ -761,51 +760,42 @@ namespace DisplayMagician.UIForms this.p_standalone.Controls.Add(this.label2); this.p_standalone.Controls.Add(this.nud_timeout_executable); this.p_standalone.Enabled = false; - this.p_standalone.Location = new System.Drawing.Point(35, 86); + this.p_standalone.Location = new System.Drawing.Point(3, 86); this.p_standalone.Name = "p_standalone"; - this.p_standalone.Size = new System.Drawing.Size(1006, 201); + this.p_standalone.Size = new System.Drawing.Size(1076, 201); this.p_standalone.TabIndex = 10; // - // btn_exe_use_different_icon + // btn_choose_exe_icon // - this.btn_exe_use_different_icon.Enabled = false; - this.btn_exe_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btn_exe_use_different_icon.ForeColor = System.Drawing.Color.White; - this.btn_exe_use_different_icon.Location = new System.Drawing.Point(880, 159); - this.btn_exe_use_different_icon.Name = "btn_exe_use_different_icon"; - this.btn_exe_use_different_icon.Size = new System.Drawing.Size(85, 27); - this.btn_exe_use_different_icon.TabIndex = 34; - this.btn_exe_use_different_icon.Text = "Choose"; - this.btn_exe_use_different_icon.UseVisualStyleBackColor = true; - this.btn_exe_use_different_icon.Click += new System.EventHandler(this.btn_exe_use_different_icon_Click); + this.btn_choose_exe_icon.Enabled = false; + this.btn_choose_exe_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_choose_exe_icon.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_choose_exe_icon.ForeColor = System.Drawing.Color.White; + this.btn_choose_exe_icon.Location = new System.Drawing.Point(36, 158); + this.btn_choose_exe_icon.Name = "btn_choose_exe_icon"; + this.btn_choose_exe_icon.Size = new System.Drawing.Size(100, 26); + this.btn_choose_exe_icon.TabIndex = 38; + this.btn_choose_exe_icon.Text = "Swap"; + this.btn_choose_exe_icon.UseVisualStyleBackColor = true; + this.btn_choose_exe_icon.Click += new System.EventHandler(this.btn_choose_exe_icon_Click); // - // txt_exe_use_different_icon + // pb_exe_icon // - this.txt_exe_use_different_icon.Enabled = false; - this.txt_exe_use_different_icon.Location = new System.Drawing.Point(425, 160); - this.txt_exe_use_different_icon.Name = "txt_exe_use_different_icon"; - this.txt_exe_use_different_icon.Size = new System.Drawing.Size(449, 26); - this.txt_exe_use_different_icon.TabIndex = 33; - // - // cb_exe_use_different_icon - // - this.cb_exe_use_different_icon.AutoSize = true; - this.cb_exe_use_different_icon.ForeColor = System.Drawing.Color.White; - this.cb_exe_use_different_icon.Location = new System.Drawing.Point(171, 162); - this.cb_exe_use_different_icon.Name = "cb_exe_use_different_icon"; - this.cb_exe_use_different_icon.Size = new System.Drawing.Size(232, 24); - this.cb_exe_use_different_icon.TabIndex = 32; - this.cb_exe_use_different_icon.Text = "Use a different shortcut icon:"; - this.cb_exe_use_different_icon.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.cb_exe_use_different_icon.UseVisualStyleBackColor = true; - this.cb_exe_use_different_icon.CheckedChanged += new System.EventHandler(this.cb_exe_use_different_icon_CheckedChanged); + this.pb_exe_icon.BackColor = System.Drawing.Color.DarkGray; + this.pb_exe_icon.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.pb_exe_icon.Location = new System.Drawing.Point(36, 59); + this.pb_exe_icon.Name = "pb_exe_icon"; + this.pb_exe_icon.Size = new System.Drawing.Size(100, 100); + this.pb_exe_icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pb_exe_icon.TabIndex = 37; + this.pb_exe_icon.TabStop = false; // // cbx_exe_priority // this.cbx_exe_priority.AllowDrop = true; this.cbx_exe_priority.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cbx_exe_priority.FormattingEnabled = true; - this.cbx_exe_priority.Location = new System.Drawing.Point(815, 83); + this.cbx_exe_priority.Location = new System.Drawing.Point(917, 82); this.cbx_exe_priority.Name = "cbx_exe_priority"; this.cbx_exe_priority.Size = new System.Drawing.Size(150, 28); this.cbx_exe_priority.TabIndex = 31; @@ -814,7 +804,7 @@ namespace DisplayMagician.UIForms // this.lbl_exe_priority.AutoSize = true; this.lbl_exe_priority.ForeColor = System.Drawing.Color.White; - this.lbl_exe_priority.Location = new System.Drawing.Point(668, 86); + this.lbl_exe_priority.Location = new System.Drawing.Point(770, 85); this.lbl_exe_priority.Name = "lbl_exe_priority"; this.lbl_exe_priority.Size = new System.Drawing.Size(143, 20); this.lbl_exe_priority.TabIndex = 30; @@ -837,7 +827,7 @@ namespace DisplayMagician.UIForms this.txt_args_executable.Enabled = false; this.txt_args_executable.Location = new System.Drawing.Point(425, 46); this.txt_args_executable.Name = "txt_args_executable"; - this.txt_args_executable.Size = new System.Drawing.Size(540, 26); + this.txt_args_executable.Size = new System.Drawing.Size(642, 26); this.txt_args_executable.TabIndex = 11; // // cb_args_executable @@ -858,7 +848,7 @@ namespace DisplayMagician.UIForms // this.btn_choose_alternative_executable.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_choose_alternative_executable.ForeColor = System.Drawing.Color.White; - this.btn_choose_alternative_executable.Location = new System.Drawing.Point(880, 121); + this.btn_choose_alternative_executable.Location = new System.Drawing.Point(981, 155); this.btn_choose_alternative_executable.Name = "btn_choose_alternative_executable"; this.btn_choose_alternative_executable.Size = new System.Drawing.Size(85, 27); this.btn_choose_alternative_executable.TabIndex = 9; @@ -869,9 +859,9 @@ namespace DisplayMagician.UIForms // txt_alternative_executable // this.txt_alternative_executable.Enabled = false; - this.txt_alternative_executable.Location = new System.Drawing.Point(496, 122); + this.txt_alternative_executable.Location = new System.Drawing.Point(633, 156); this.txt_alternative_executable.Name = "txt_alternative_executable"; - this.txt_alternative_executable.Size = new System.Drawing.Size(378, 26); + this.txt_alternative_executable.Size = new System.Drawing.Size(342, 26); this.txt_alternative_executable.TabIndex = 4; this.txt_alternative_executable.TextChanged += new System.EventHandler(this.txt_alternative_executable_TextChanged); // @@ -879,7 +869,7 @@ namespace DisplayMagician.UIForms // this.rb_wait_alternative_executable.AutoSize = true; this.rb_wait_alternative_executable.ForeColor = System.Drawing.Color.White; - this.rb_wait_alternative_executable.Location = new System.Drawing.Point(23, 122); + this.rb_wait_alternative_executable.Location = new System.Drawing.Point(169, 156); this.rb_wait_alternative_executable.Name = "rb_wait_alternative_executable"; this.rb_wait_alternative_executable.Size = new System.Drawing.Size(468, 24); this.rb_wait_alternative_executable.TabIndex = 8; @@ -893,7 +883,7 @@ namespace DisplayMagician.UIForms this.rb_wait_executable.AutoSize = true; this.rb_wait_executable.Checked = true; this.rb_wait_executable.ForeColor = System.Drawing.Color.White; - this.rb_wait_executable.Location = new System.Drawing.Point(23, 83); + this.rb_wait_executable.Location = new System.Drawing.Point(169, 117); this.rb_wait_executable.Name = "rb_wait_executable"; this.rb_wait_executable.Size = new System.Drawing.Size(439, 24); this.rb_wait_executable.TabIndex = 7; @@ -927,7 +917,7 @@ namespace DisplayMagician.UIForms // this.label2.AutoSize = true; this.label2.ForeColor = System.Drawing.Color.Transparent; - this.label2.Location = new System.Drawing.Point(783, 12); + this.label2.Location = new System.Drawing.Point(881, 13); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(125, 20); this.label2.TabIndex = 5; @@ -936,7 +926,7 @@ namespace DisplayMagician.UIForms // // nud_timeout_executable // - this.nud_timeout_executable.Location = new System.Drawing.Point(910, 10); + this.nud_timeout_executable.Location = new System.Drawing.Point(1012, 10); this.nud_timeout_executable.Maximum = new decimal(new int[] { 240, 0, @@ -977,11 +967,9 @@ namespace DisplayMagician.UIForms // // p_game // - this.p_game.Controls.Add(this.btn_game_use_different_icon); - this.p_game.Controls.Add(this.txt_game_use_different_icon); - this.p_game.Controls.Add(this.cb_game_use_different_icon); + this.p_game.Controls.Add(this.btn_choose_game_icon); + this.p_game.Controls.Add(this.pb_game_icon); this.p_game.Controls.Add(this.lbl_no_game_libraries); - this.p_game.Controls.Add(this.lbl_game_library); this.p_game.Controls.Add(this.cbx_game_priority); this.p_game.Controls.Add(this.ilv_games); this.p_game.Controls.Add(this.cb_wait_alternative_game); @@ -994,45 +982,37 @@ namespace DisplayMagician.UIForms this.p_game.Controls.Add(this.cb_args_game); this.p_game.Controls.Add(this.lbl_game_timeout); this.p_game.Controls.Add(this.nud_timeout_game); + this.p_game.Controls.Add(this.lbl_game_library); this.p_game.Dock = System.Windows.Forms.DockStyle.Bottom; this.p_game.Location = new System.Drawing.Point(3, 339); this.p_game.Name = "p_game"; - this.p_game.Size = new System.Drawing.Size(1076, 366); + this.p_game.Size = new System.Drawing.Size(1076, 389); this.p_game.TabIndex = 7; // - // btn_game_use_different_icon + // btn_choose_game_icon // - this.btn_game_use_different_icon.Enabled = false; - this.btn_game_use_different_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btn_game_use_different_icon.ForeColor = System.Drawing.Color.White; - this.btn_game_use_different_icon.Location = new System.Drawing.Point(912, 121); - this.btn_game_use_different_icon.Name = "btn_game_use_different_icon"; - this.btn_game_use_different_icon.Size = new System.Drawing.Size(85, 27); - this.btn_game_use_different_icon.TabIndex = 37; - this.btn_game_use_different_icon.Text = "Choose"; - this.btn_game_use_different_icon.UseVisualStyleBackColor = true; - this.btn_game_use_different_icon.Click += new System.EventHandler(this.btn_game_use_different_icon_Click); + this.btn_choose_game_icon.Enabled = false; + this.btn_choose_game_icon.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_choose_game_icon.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_choose_game_icon.ForeColor = System.Drawing.Color.White; + this.btn_choose_game_icon.Location = new System.Drawing.Point(36, 145); + this.btn_choose_game_icon.Name = "btn_choose_game_icon"; + this.btn_choose_game_icon.Size = new System.Drawing.Size(100, 26); + this.btn_choose_game_icon.TabIndex = 37; + this.btn_choose_game_icon.Text = "Swap"; + this.btn_choose_game_icon.UseVisualStyleBackColor = true; + this.btn_choose_game_icon.Click += new System.EventHandler(this.btn_choose_game_icon_Click); // - // txt_game_use_different_icon + // pb_game_icon // - this.txt_game_use_different_icon.Enabled = false; - this.txt_game_use_different_icon.Location = new System.Drawing.Point(399, 122); - this.txt_game_use_different_icon.Name = "txt_game_use_different_icon"; - this.txt_game_use_different_icon.Size = new System.Drawing.Size(507, 26); - this.txt_game_use_different_icon.TabIndex = 36; - // - // cb_game_use_different_icon - // - this.cb_game_use_different_icon.AutoSize = true; - this.cb_game_use_different_icon.ForeColor = System.Drawing.Color.White; - this.cb_game_use_different_icon.Location = new System.Drawing.Point(165, 124); - this.cb_game_use_different_icon.Name = "cb_game_use_different_icon"; - this.cb_game_use_different_icon.Size = new System.Drawing.Size(232, 24); - this.cb_game_use_different_icon.TabIndex = 35; - this.cb_game_use_different_icon.Text = "Use a different shortcut icon:"; - this.cb_game_use_different_icon.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.cb_game_use_different_icon.UseVisualStyleBackColor = true; - this.cb_game_use_different_icon.CheckedChanged += new System.EventHandler(this.cb_game_use_different_icon_CheckedChanged); + this.pb_game_icon.BackColor = System.Drawing.Color.DarkGray; + this.pb_game_icon.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.pb_game_icon.Location = new System.Drawing.Point(36, 48); + this.pb_game_icon.Name = "pb_game_icon"; + this.pb_game_icon.Size = new System.Drawing.Size(100, 100); + this.pb_game_icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pb_game_icon.TabIndex = 35; + this.pb_game_icon.TabStop = false; // // lbl_no_game_libraries // @@ -1043,7 +1023,7 @@ namespace DisplayMagician.UIForms this.lbl_no_game_libraries.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_no_game_libraries.ForeColor = System.Drawing.Color.White; this.lbl_no_game_libraries.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_game_libraries.Location = new System.Drawing.Point(266, 176); + this.lbl_no_game_libraries.Location = new System.Drawing.Point(267, 162); this.lbl_no_game_libraries.Name = "lbl_no_game_libraries"; this.lbl_no_game_libraries.Size = new System.Drawing.Size(613, 22); this.lbl_no_game_libraries.TabIndex = 34; @@ -1052,18 +1032,6 @@ namespace DisplayMagician.UIForms this.lbl_no_game_libraries.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lbl_no_game_libraries.Visible = false; // - // lbl_game_library - // - this.lbl_game_library.Anchor = System.Windows.Forms.AnchorStyles.None; - this.lbl_game_library.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbl_game_library.ForeColor = System.Drawing.Color.White; - this.lbl_game_library.Location = new System.Drawing.Point(22, 40); - this.lbl_game_library.Name = "lbl_game_library"; - this.lbl_game_library.Size = new System.Drawing.Size(127, 22); - this.lbl_game_library.TabIndex = 30; - this.lbl_game_library.Text = "Game Library:"; - this.lbl_game_library.TextAlign = System.Drawing.ContentAlignment.TopRight; - // // cbx_game_priority // this.cbx_game_priority.AllowDrop = true; @@ -1080,7 +1048,7 @@ namespace DisplayMagician.UIForms | System.Windows.Forms.AnchorStyles.Right))); this.ilv_games.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.ilv_games.IntegralScroll = true; - this.ilv_games.Location = new System.Drawing.Point(0, 164); + this.ilv_games.Location = new System.Drawing.Point(0, 187); this.ilv_games.Name = "ilv_games"; this.ilv_games.PersistentCacheDirectory = ""; this.ilv_games.PersistentCacheSize = ((long)(100)); @@ -1093,7 +1061,7 @@ namespace DisplayMagician.UIForms // cb_wait_alternative_game // this.cb_wait_alternative_game.AutoSize = true; - this.cb_wait_alternative_game.Location = new System.Drawing.Point(165, 87); + this.cb_wait_alternative_game.Location = new System.Drawing.Point(165, 111); this.cb_wait_alternative_game.Name = "cb_wait_alternative_game"; this.cb_wait_alternative_game.Size = new System.Drawing.Size(229, 24); this.cb_wait_alternative_game.TabIndex = 27; @@ -1106,7 +1074,7 @@ namespace DisplayMagician.UIForms this.btn_choose_alternative_game.Enabled = false; this.btn_choose_alternative_game.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_choose_alternative_game.ForeColor = System.Drawing.Color.White; - this.btn_choose_alternative_game.Location = new System.Drawing.Point(912, 85); + this.btn_choose_alternative_game.Location = new System.Drawing.Point(981, 109); this.btn_choose_alternative_game.Name = "btn_choose_alternative_game"; this.btn_choose_alternative_game.Size = new System.Drawing.Size(85, 27); this.btn_choose_alternative_game.TabIndex = 26; @@ -1117,9 +1085,9 @@ namespace DisplayMagician.UIForms // txt_alternative_game // this.txt_alternative_game.Enabled = false; - this.txt_alternative_game.Location = new System.Drawing.Point(399, 85); + this.txt_alternative_game.Location = new System.Drawing.Point(399, 109); this.txt_alternative_game.Name = "txt_alternative_game"; - this.txt_alternative_game.Size = new System.Drawing.Size(507, 26); + this.txt_alternative_game.Size = new System.Drawing.Size(576, 26); this.txt_alternative_game.TabIndex = 24; // // txt_game_name @@ -1129,6 +1097,7 @@ namespace DisplayMagician.UIForms this.txt_game_name.ReadOnly = true; this.txt_game_name.Size = new System.Drawing.Size(385, 26); this.txt_game_name.TabIndex = 21; + this.txt_game_name.Text = "Please select a game from the list below..."; // // lbl_game_priority // @@ -1156,7 +1125,7 @@ namespace DisplayMagician.UIForms // txt_args_game // this.txt_args_game.Enabled = false; - this.txt_args_game.Location = new System.Drawing.Point(399, 48); + this.txt_args_game.Location = new System.Drawing.Point(399, 72); this.txt_args_game.Name = "txt_args_game"; this.txt_args_game.Size = new System.Drawing.Size(667, 26); this.txt_args_game.TabIndex = 13; @@ -1165,7 +1134,7 @@ namespace DisplayMagician.UIForms // this.cb_args_game.AutoSize = true; this.cb_args_game.ForeColor = System.Drawing.Color.White; - this.cb_args_game.Location = new System.Drawing.Point(166, 50); + this.cb_args_game.Location = new System.Drawing.Point(166, 74); this.cb_args_game.Name = "cb_args_game"; this.cb_args_game.Size = new System.Drawing.Size(213, 24); this.cb_args_game.TabIndex = 12; @@ -1203,6 +1172,18 @@ namespace DisplayMagician.UIForms 0, 0}); // + // lbl_game_library + // + this.lbl_game_library.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lbl_game_library.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_game_library.ForeColor = System.Drawing.Color.White; + this.lbl_game_library.Location = new System.Drawing.Point(408, 40); + this.lbl_game_library.Name = "lbl_game_library"; + this.lbl_game_library.Size = new System.Drawing.Size(127, 22); + this.lbl_game_library.TabIndex = 30; + this.lbl_game_library.Text = "Game Library:"; + this.lbl_game_library.TextAlign = System.Drawing.ContentAlignment.TopRight; + // // rb_launcher // this.rb_launcher.AutoSize = true; @@ -1228,7 +1209,7 @@ namespace DisplayMagician.UIForms this.tabp_after.Location = new System.Drawing.Point(4, 32); this.tabp_after.Name = "tabp_after"; this.tabp_after.Padding = new System.Windows.Forms.Padding(3); - this.tabp_after.Size = new System.Drawing.Size(1082, 708); + this.tabp_after.Size = new System.Drawing.Size(1082, 731); this.tabp_after.TabIndex = 3; this.tabp_after.Text = "5. Choose what happens afterwards"; // @@ -1354,7 +1335,7 @@ namespace DisplayMagician.UIForms this.txt_shortcut_save_name.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.txt_shortcut_save_name.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txt_shortcut_save_name.Location = new System.Drawing.Point(207, 821); + this.txt_shortcut_save_name.Location = new System.Drawing.Point(207, 844); this.txt_shortcut_save_name.MaxLength = 200; this.txt_shortcut_save_name.Name = "txt_shortcut_save_name"; this.txt_shortcut_save_name.Size = new System.Drawing.Size(744, 35); @@ -1380,7 +1361,7 @@ namespace DisplayMagician.UIForms this.lbl_shortcut_name.AutoSize = true; this.lbl_shortcut_name.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_shortcut_name.ForeColor = System.Drawing.Color.Transparent; - this.lbl_shortcut_name.Location = new System.Drawing.Point(23, 824); + this.lbl_shortcut_name.Location = new System.Drawing.Point(23, 847); this.lbl_shortcut_name.Name = "lbl_shortcut_name"; this.lbl_shortcut_name.Size = new System.Drawing.Size(178, 29); this.lbl_shortcut_name.TabIndex = 31; @@ -1394,7 +1375,7 @@ namespace DisplayMagician.UIForms this.cb_autosuggest.Checked = true; this.cb_autosuggest.CheckState = System.Windows.Forms.CheckState.Checked; this.cb_autosuggest.ForeColor = System.Drawing.Color.White; - this.cb_autosuggest.Location = new System.Drawing.Point(969, 830); + this.cb_autosuggest.Location = new System.Drawing.Point(969, 853); this.cb_autosuggest.Name = "cb_autosuggest"; this.cb_autosuggest.Size = new System.Drawing.Size(117, 17); this.cb_autosuggest.TabIndex = 32; @@ -1411,7 +1392,7 @@ namespace DisplayMagician.UIForms this.btn_hotkey.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_hotkey.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_hotkey.ForeColor = System.Drawing.Color.White; - this.btn_hotkey.Location = new System.Drawing.Point(434, 868); + this.btn_hotkey.Location = new System.Drawing.Point(434, 891); this.btn_hotkey.Name = "btn_hotkey"; this.btn_hotkey.Size = new System.Drawing.Size(120, 40); this.btn_hotkey.TabIndex = 36; @@ -1426,7 +1407,7 @@ namespace DisplayMagician.UIForms this.lbl_hotkey_assigned.BackColor = System.Drawing.Color.Transparent; this.lbl_hotkey_assigned.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_hotkey_assigned.ForeColor = System.Drawing.Color.White; - this.lbl_hotkey_assigned.Location = new System.Drawing.Point(26, 884); + this.lbl_hotkey_assigned.Location = new System.Drawing.Point(26, 907); this.lbl_hotkey_assigned.Name = "lbl_hotkey_assigned"; this.lbl_hotkey_assigned.Size = new System.Drawing.Size(57, 16); this.lbl_hotkey_assigned.TabIndex = 37; @@ -1441,7 +1422,7 @@ namespace DisplayMagician.UIForms this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.CancelButton = this.btn_cancel; - this.ClientSize = new System.Drawing.Size(1114, 920); + this.ClientSize = new System.Drawing.Size(1114, 943); this.Controls.Add(this.lbl_hotkey_assigned); this.Controls.Add(this.btn_hotkey); this.Controls.Add(this.cb_autosuggest); @@ -1482,9 +1463,11 @@ namespace DisplayMagician.UIForms this.tabp_game.PerformLayout(); this.p_standalone.ResumeLayout(false); this.p_standalone.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pb_exe_icon)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_executable)).EndInit(); this.p_game.ResumeLayout(false); this.p_game.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pb_game_icon)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).EndInit(); this.tabp_after.ResumeLayout(false); this.groupBox2.ResumeLayout(false); @@ -1589,11 +1572,9 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.ComboBox cbx_game_priority; private System.Windows.Forms.Label lbl_game_priority; private System.Windows.Forms.PictureBox pbLogo; - private System.Windows.Forms.Button btn_exe_use_different_icon; - private System.Windows.Forms.TextBox txt_exe_use_different_icon; - private System.Windows.Forms.CheckBox cb_exe_use_different_icon; - private System.Windows.Forms.Button btn_game_use_different_icon; - private System.Windows.Forms.TextBox txt_game_use_different_icon; - private System.Windows.Forms.CheckBox cb_game_use_different_icon; + private System.Windows.Forms.Button btn_choose_exe_icon; + private System.Windows.Forms.PictureBox pb_exe_icon; + private System.Windows.Forms.Button btn_choose_game_icon; + private System.Windows.Forms.PictureBox pb_game_icon; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index b640dba..792b17b 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -58,9 +58,11 @@ namespace DisplayMagician.UIForms private CoreAudioDevice selectedCaptureDevice = null; private Keys _hotkey = Keys.None; private bool _userChoseOwnGameIcon = false; - private string _userGameIconPath = ""; + //private string _userGameIconPath = ""; private bool _userChoseOwnExeIcon = false; - private string _userExeIconPath = ""; + //private string _userExeIconPath = ""; + private List _availableImages = new List(); + private ShortcutBitmap _selectedImage = new ShortcutBitmap(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -299,16 +301,6 @@ namespace DisplayMagician.UIForms return; } - if (cb_exe_use_different_icon.Checked && !File.Exists(txt_exe_use_different_icon.Text)) - { - MessageBox.Show( - @"The different icon you've chosen for this executable shortcut does not exist! Please a different executable or icon to use as an icon.", - @"Different icon doesn't exist", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - return; - } - } else if (rb_launcher.Checked) { @@ -374,16 +366,6 @@ namespace DisplayMagician.UIForms return; } - if (cb_game_use_different_icon.Checked && !File.Exists(txt_game_use_different_icon.Text)) - { - MessageBox.Show( - @"The different icon you've chosen for this game shortcut does not exist! Please a different executable or icon to use as an icon.", - @"Different icon doesn't exist", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - return; - } - } @@ -566,7 +548,7 @@ namespace DisplayMagician.UIForms } // Now set the alternative icon if needed - if (cb_game_use_different_icon.Checked) + /*if (cb_game_use_different_icon.Checked) { _userChoseOwnGameIcon = true; _userGameIconPath = txt_game_use_different_icon.Text; @@ -575,7 +557,7 @@ namespace DisplayMagician.UIForms { _userChoseOwnGameIcon = false; _userGameIconPath = ""; - } + }*/ try { @@ -588,7 +570,7 @@ namespace DisplayMagician.UIForms _capturePermanence, _gameToUse.GameToPlay.IconPath, _userChoseOwnGameIcon, - _userGameIconPath, + _availableImages, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -614,7 +596,7 @@ namespace DisplayMagician.UIForms _capturePermanence, _gameToUse.GameToPlay.IconPath, _userChoseOwnGameIcon, - _userGameIconPath, + _availableImages, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -653,17 +635,6 @@ namespace DisplayMagician.UIForms _executableToUse.ProcessNameToMonitorUsesExecutable = true; } - // Now set the alternative icon if needed - if (cb_exe_use_different_icon.Checked) - { - _userChoseOwnExeIcon = true; - _userExeIconPath = txt_exe_use_different_icon.Text; - } - else - { - _userChoseOwnExeIcon = false; - _userExeIconPath = ""; - } try { @@ -676,7 +647,7 @@ namespace DisplayMagician.UIForms _capturePermanence, _executableToUse.ExecutableNameAndPath, _userChoseOwnExeIcon, - _userExeIconPath, + _availableImages, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -700,6 +671,8 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _executableToUse.ExecutableNameAndPath, + _userChoseOwnExeIcon, + _availableImages, _changeAudioDevice, _audioDevice, _setAudioVolume, @@ -1388,7 +1361,7 @@ namespace DisplayMagician.UIForms // Set the shortcut name txt_shortcut_save_name.Text = _shortcutToEdit.Name; - if (_shortcutToEdit.Category == ShortcutCategory.Game) + /*if (_shortcutToEdit.Category == ShortcutCategory.Game) { _userGameIconPath = _shortcutToEdit.UserIconPath; txt_game_use_different_icon.Text = _userGameIconPath; @@ -1415,7 +1388,7 @@ namespace DisplayMagician.UIForms { cb_exe_use_different_icon.Checked = false; } - } + } */ // Set up the start programs @@ -2503,6 +2476,12 @@ namespace DisplayMagician.UIForms _gameLauncher = game.GameLibrary.ToString("G"); lbl_game_library.Text = $"Game Library: {_gameLauncher}"; _gameId = game.Id; + _availableImages = game.AvailableGameBitmaps; + _shortcutToEdit.AvailableImages = game.AvailableGameBitmaps; + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + _shortcutToEdit.SelectedImage = _selectedImage; + pb_game_icon.Image = _selectedImage.Image; + btn_choose_game_icon.Enabled = true; break; } } @@ -2542,41 +2521,8 @@ namespace DisplayMagician.UIForms } } - private void cb_game_use_different_icon_CheckedChanged(object sender, EventArgs e) - { - if (_loadedShortcut) - _isUnsaved = true; - if (cb_game_use_different_icon.Checked) - { - txt_game_use_different_icon.Enabled = true; - btn_game_use_different_icon.Enabled = true; - } - else - { - txt_game_use_different_icon.Enabled = false; - btn_game_use_different_icon.Enabled = false; - } - } - - private void cb_exe_use_different_icon_CheckedChanged(object sender, EventArgs e) - { - if (_loadedShortcut) - _isUnsaved = true; - - if (cb_exe_use_different_icon.Checked) - { - txt_exe_use_different_icon.Enabled = true; - btn_exe_use_different_icon.Enabled = true; - } - else - { - txt_exe_use_different_icon.Enabled = false; - btn_exe_use_different_icon.Enabled = false; - } - } - - private void btn_game_use_different_icon_Click(object sender, EventArgs e) + /*private void btn_game_use_different_icon_Click(object sender, EventArgs e) { string gamePath = ""; foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) @@ -2637,6 +2583,36 @@ namespace DisplayMagician.UIForms } } } +*/ + private void btn_choose_exe_icon_Click(object sender, EventArgs e) + { + if (rb_standalone.Checked && _shortcutToEdit.AvailableImages.Count > 0) + { + ChooseIconForm exeIconForm = new ChooseIconForm(); + exeIconForm.AvailableImages = _shortcutToEdit.AvailableImages; + if (exeIconForm.ShowDialog() == DialogResult.OK) + { + _selectedImage = exeIconForm.SelectedImage; + pb_exe_icon.Image = exeIconForm.SelectedImage.Image; + } + } + + } + + private void btn_choose_game_icon_Click(object sender, EventArgs e) + { + if (rb_launcher.Checked && _shortcutToEdit.AvailableImages.Count > 0) + { + ChooseIconForm gameIconForm = new ChooseIconForm(); + gameIconForm.AvailableImages = _shortcutToEdit.AvailableImages; + if (gameIconForm.ShowDialog() == DialogResult.OK) + { + _selectedImage = gameIconForm.SelectedImage; + pb_game_icon.Image = gameIconForm.SelectedImage.Image; + + } + } + } } // Class used to populate combo boxes From fb482030e268688ec9a9083e105fec3f9267c90f Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 2 Nov 2021 22:40:53 +1300 Subject: [PATCH 078/112] Added first part of adding a command to run afterwards This is the basic first part of #48, only to provide basic functionality that may be useful to people. This is not a common occurance, so will allow people to run a program or powershell script if they need to do something unusual. This at least gives them a mechanism to do so. --- .../UIForms/ShortcutForm.Designer.cs | 56 +++++++++++++++++++ DisplayMagician/UIForms/ShortcutForm.cs | 14 +++++ 2 files changed, 70 insertions(+) diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index 8877b34..1bb859c 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -126,6 +126,10 @@ namespace DisplayMagician.UIForms this.cb_autosuggest = new System.Windows.Forms.CheckBox(); this.btn_hotkey = new System.Windows.Forms.Button(); this.lbl_hotkey_assigned = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.cb_run_cmd_afterwards = new System.Windows.Forms.CheckBox(); + this.btn_run_cmd_afterwards = new System.Windows.Forms.Button(); + this.txt_run_cmd_afterwards = new System.Windows.Forms.TextBox(); this.tabc_shortcut.SuspendLayout(); this.tabp_display.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); @@ -148,6 +152,7 @@ namespace DisplayMagician.UIForms this.groupBox2.SuspendLayout(); this.groupBox1.SuspendLayout(); this.gb_display_after.SuspendLayout(); + this.groupBox3.SuspendLayout(); this.SuspendLayout(); // // btn_save @@ -1201,6 +1206,7 @@ namespace DisplayMagician.UIForms // tabp_after // this.tabp_after.BackColor = System.Drawing.Color.Black; + this.tabp_after.Controls.Add(this.groupBox3); this.tabp_after.Controls.Add(this.groupBox2); this.tabp_after.Controls.Add(this.groupBox1); this.tabp_after.Controls.Add(this.gb_display_after); @@ -1415,6 +1421,50 @@ namespace DisplayMagician.UIForms this.lbl_hotkey_assigned.Visible = false; this.lbl_hotkey_assigned.Click += new System.EventHandler(this.lbl_hotkey_assigned_Click); // + // groupBox3 + // + this.groupBox3.Controls.Add(this.btn_run_cmd_afterwards); + this.groupBox3.Controls.Add(this.txt_run_cmd_afterwards); + this.groupBox3.Controls.Add(this.cb_run_cmd_afterwards); + this.groupBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.groupBox3.ForeColor = System.Drawing.Color.White; + this.groupBox3.Location = new System.Drawing.Point(175, 591); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(765, 110); + this.groupBox3.TabIndex = 14; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Run a program or command afterwards?"; + // + // cb_run_cmd_afterwards + // + this.cb_run_cmd_afterwards.AutoSize = true; + this.cb_run_cmd_afterwards.Location = new System.Drawing.Point(98, 45); + this.cb_run_cmd_afterwards.Name = "cb_run_cmd_afterwards"; + this.cb_run_cmd_afterwards.Size = new System.Drawing.Size(154, 24); + this.cb_run_cmd_afterwards.TabIndex = 0; + this.cb_run_cmd_afterwards.Text = "Run this program:"; + this.cb_run_cmd_afterwards.UseVisualStyleBackColor = true; + this.cb_run_cmd_afterwards.CheckedChanged += new System.EventHandler(this.cb_run_cmd_afterwards_CheckedChanged); + // + // btn_run_cmd_afterwards + // + this.btn_run_cmd_afterwards.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_run_cmd_afterwards.ForeColor = System.Drawing.Color.White; + this.btn_run_cmd_afterwards.Location = new System.Drawing.Point(645, 42); + this.btn_run_cmd_afterwards.Name = "btn_run_cmd_afterwards"; + this.btn_run_cmd_afterwards.Size = new System.Drawing.Size(85, 27); + this.btn_run_cmd_afterwards.TabIndex = 11; + this.btn_run_cmd_afterwards.Text = "Choose"; + this.btn_run_cmd_afterwards.UseVisualStyleBackColor = true; + // + // txt_run_cmd_afterwards + // + this.txt_run_cmd_afterwards.Enabled = false; + this.txt_run_cmd_afterwards.Location = new System.Drawing.Point(250, 43); + this.txt_run_cmd_afterwards.Name = "txt_run_cmd_afterwards"; + this.txt_run_cmd_afterwards.Size = new System.Drawing.Size(389, 26); + this.txt_run_cmd_afterwards.TabIndex = 10; + // // ShortcutForm // this.AcceptButton = this.btn_save; @@ -1476,6 +1526,8 @@ namespace DisplayMagician.UIForms this.groupBox1.PerformLayout(); this.gb_display_after.ResumeLayout(false); this.gb_display_after.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -1576,5 +1628,9 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.PictureBox pb_exe_icon; private System.Windows.Forms.Button btn_choose_game_icon; private System.Windows.Forms.PictureBox pb_game_icon; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Button btn_run_cmd_afterwards; + private System.Windows.Forms.TextBox txt_run_cmd_afterwards; + private System.Windows.Forms.CheckBox cb_run_cmd_afterwards; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 792b17b..e89fbc6 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -2613,6 +2613,20 @@ namespace DisplayMagician.UIForms } } } + + private void cb_run_cmd_afterwards_CheckedChanged(object sender, EventArgs e) + { + if (cb_run_cmd_afterwards.Checked) + { + txt_run_cmd_afterwards.Enabled = true; + btn_run_cmd_afterwards.Enabled = true; + } + else + { + txt_run_cmd_afterwards.Enabled = false; + btn_run_cmd_afterwards.Enabled = false; + } + } } // Class used to populate combo boxes From 6febe82c2f5de955c0e2c674610d5caa850d58a3 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 2 Nov 2021 22:54:34 +1300 Subject: [PATCH 079/112] Additional stop program settings. --- DisplayMagician/ShortcutItem.cs | 37 +++++++++++++++++++++++-- DisplayMagician/UIForms/ShortcutForm.cs | 31 ++++++++++++++++++++- 2 files changed, 65 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 884e079..e8eb0b0 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -61,6 +61,18 @@ namespace DisplayMagician public bool DontStartIfAlreadyRunning; } + public struct StopProgram + { + public int Priority; + public bool Disabled; + public ProcessPriority ProcessPriority; + public string Executable; + public string Arguments; + public bool ExecutableArgumentsRequired; + public bool CloseOnFinish; + public bool DontStartIfAlreadyRunning; + } + public struct Executable { public string DifferentExecutableToMonitor; @@ -139,6 +151,7 @@ namespace DisplayMagician private ShortcutValidity _isValid; private List _shortcutErrors = new List(); private List _startPrograms; + private List _stopPrograms; private Bitmap _shortcutBitmap, _originalBitmap; [JsonIgnore] #pragma warning disable CS3008 // Identifier is not CLS-compliant @@ -641,6 +654,20 @@ namespace DisplayMagician } } + public List StopPrograms + { + get + { + return _stopPrograms; + } + + set + { + _stopPrograms = value; + } + } + + public string OriginalIconPath { get { @@ -788,6 +815,7 @@ namespace DisplayMagician bool setCaptureVolume = false, decimal captureVolume = -1, List startPrograms = null, + List stopPrograms = null, bool autoName = true, Keys hotkey = Keys.None, string uuid = "" @@ -843,7 +871,8 @@ namespace DisplayMagician string captureDevice = "", bool setCaptureVolume = false, decimal captureVolume = -1, - List startPrograms = null, + List startPrograms = null, + List stopPrograms = null, bool autoName = true, string uuid = "", Keys hotkey = Keys.None @@ -877,6 +906,7 @@ namespace DisplayMagician _capturePermanence = capturePermanence; _autoName = autoName; _startPrograms = startPrograms; + _stopPrograms = stopPrograms; _originalIconPath = originalIconPath; _userChoseOwnIcon = userChoseOwnIcon; _availableImages = availableImages; @@ -912,7 +942,8 @@ namespace DisplayMagician string captureDevice = "", bool setCaptureVolume = false, decimal captureVolume = -1, - List startPrograms = null, + List startPrograms = null, + List stopPrograms = null, bool autoName = true, Keys hotkey = Keys.None, string uuid = "" @@ -943,6 +974,7 @@ namespace DisplayMagician _capturePermanence = capturePermanence; _autoName = autoName; _startPrograms = startPrograms; + _stopPrograms = stopPrograms; _originalIconPath = originalIconPath; _userChoseOwnIcon = userChoseOwnIcon; _availableImages = availableImages; @@ -995,6 +1027,7 @@ namespace DisplayMagician shortcut.IsValid = IsValid; shortcut.Errors.AddRange(Errors); shortcut.StartPrograms = StartPrograms; + shortcut.StopPrograms = StopPrograms; shortcut.ChangeAudioDevice = ChangeAudioDevice; shortcut.AudioDevice = AudioDevice; shortcut.SetAudioVolume = SetAudioVolume; diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index e89fbc6..a09a9b8 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -36,6 +36,7 @@ namespace DisplayMagician.UIForms private ShortcutPermanence _audioPermanence = ShortcutPermanence.Temporary; private ShortcutPermanence _capturePermanence = ShortcutPermanence.Temporary; List _startPrograms = new List(); + List _stopPrograms = new List(); private string _audioDevice = ""; private bool _changeAudioDevice = false; private bool _setAudioVolume = false; @@ -496,7 +497,23 @@ namespace DisplayMagician.UIForms // Replace the old start programs with the ones we've created now _startPrograms = newStartPrograms; - + + // Store the single stop program if it's set (but wth lots of defaults) + if (!String.IsNullOrWhiteSpace(txt_run_cmd_afterwards.Text) && File.Exists(txt_run_cmd_afterwards.Text)) + { + _stopPrograms = new List(); + StopProgram stopProgram = new StopProgram(); + stopProgram.Executable = txt_run_cmd_afterwards.Text; + stopProgram.Priority = 0; + stopProgram.DontStartIfAlreadyRunning = false; + stopProgram.Arguments = ""; + stopProgram.Disabled = false; + stopProgram.ExecutableArgumentsRequired = false; + stopProgram.ProcessPriority = ProcessPriority.Normal; + _stopPrograms.Add(stopProgram); + } + + // Now we create the Shortcut Object ready to save // If we're launching a game if (rb_launcher.Checked) @@ -580,6 +597,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _uuid, _hotkey @@ -606,6 +624,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _uuid, _hotkey @@ -657,6 +676,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _hotkey ); @@ -682,6 +702,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _hotkey ); @@ -709,6 +730,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _hotkey ); @@ -731,6 +753,7 @@ namespace DisplayMagician.UIForms _setCaptureVolume, _captureVolume, _startPrograms, + _stopPrograms, _autoName, _hotkey ); @@ -1429,6 +1452,12 @@ namespace DisplayMagician.UIForms } } + // Setup the single stop program we're beginning with + if (_shortcutToEdit.StopPrograms is List && _shortcutToEdit.StopPrograms.Count > 0) + { + txt_run_cmd_afterwards.Text = _shortcutToEdit.StopPrograms[0].Executable; + } + // Refresh the Shortcut UI RefreshShortcutUI(); ChangeSelectedProfile(chosenProfile); From e33961645c8b1401d599a244cd245477a6d1c70d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 2 Nov 2021 23:08:08 +1300 Subject: [PATCH 080/112] Partially completed stop program form --- DisplayMagician/ShortcutRepository.cs | 24 ++++ .../UIForms/ShortcutForm.Designer.cs | 135 +++++++++++------- DisplayMagician/UIForms/ShortcutForm.cs | 22 +++ 3 files changed, 127 insertions(+), 54 deletions(-) diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index 8b62e96..a38581d 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -1992,6 +1992,30 @@ namespace DisplayMagician logger.Debug($"ShortcutRepository/RunShortcut: Shortcut did not require changing Display Profile, so no need to change it back."); } + // And finally run the stop program we have + if (shortcutToUse.StopPrograms.Count > 0) + { + // At the moment we only allow one stop program + StopProgram stopProg = shortcutToUse.StopPrograms[0]; + uint processID = 0; + try + { + if (ProcessUtils.LaunchProcessWithPriority(stopProg.Executable, stopProg.Arguments, ProcessUtils.TranslatePriorityToClass(stopProg.ProcessPriority), out processID)) + { + logger.Trace($"ShortcutRepository/RunShortcut: Successfully started Stop Program {stopProg.Executable} {stopProg.Arguments}"); + } + else + { + logger.Warn($"ShortcutRepository/RunShortcut: Unable to start Stop Program {stopProg.Executable} {stopProg.Arguments}"); + } + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutRepository/RunShortcut: Exception while starting Stop Program {stopProg.Executable} {stopProg.Arguments}"); + } + } + + // Reset the popup over the system tray icon to what's normal for it. notifyIcon.Text = $"DisplayMagician"; Application.DoEvents(); diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index 1bb859c..0296cfb 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -111,6 +111,12 @@ namespace DisplayMagician.UIForms this.lbl_game_library = new System.Windows.Forms.Label(); this.rb_launcher = new System.Windows.Forms.RadioButton(); this.tabp_after = new System.Windows.Forms.TabPage(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.txt_run_cmd_afterwards_args = new System.Windows.Forms.TextBox(); + this.cb_run_cmd_afterwards_args = new System.Windows.Forms.CheckBox(); + this.btn_run_cmd_afterwards = new System.Windows.Forms.Button(); + this.txt_run_cmd_afterwards = new System.Windows.Forms.TextBox(); + this.cb_run_cmd_afterwards = new System.Windows.Forms.CheckBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.rb_switch_capture_permanent = new System.Windows.Forms.RadioButton(); this.rb_switch_capture_temp = new System.Windows.Forms.RadioButton(); @@ -126,10 +132,6 @@ namespace DisplayMagician.UIForms this.cb_autosuggest = new System.Windows.Forms.CheckBox(); this.btn_hotkey = new System.Windows.Forms.Button(); this.lbl_hotkey_assigned = new System.Windows.Forms.Label(); - this.groupBox3 = new System.Windows.Forms.GroupBox(); - this.cb_run_cmd_afterwards = new System.Windows.Forms.CheckBox(); - this.btn_run_cmd_afterwards = new System.Windows.Forms.Button(); - this.txt_run_cmd_afterwards = new System.Windows.Forms.TextBox(); this.tabc_shortcut.SuspendLayout(); this.tabp_display.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); @@ -149,10 +151,10 @@ namespace DisplayMagician.UIForms ((System.ComponentModel.ISupportInitialize)(this.pb_game_icon)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).BeginInit(); this.tabp_after.SuspendLayout(); + this.groupBox3.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox1.SuspendLayout(); this.gb_display_after.SuspendLayout(); - this.groupBox3.SuspendLayout(); this.SuspendLayout(); // // btn_save @@ -1219,13 +1221,80 @@ namespace DisplayMagician.UIForms this.tabp_after.TabIndex = 3; this.tabp_after.Text = "5. Choose what happens afterwards"; // + // groupBox3 + // + this.groupBox3.Controls.Add(this.txt_run_cmd_afterwards_args); + this.groupBox3.Controls.Add(this.cb_run_cmd_afterwards_args); + this.groupBox3.Controls.Add(this.btn_run_cmd_afterwards); + this.groupBox3.Controls.Add(this.txt_run_cmd_afterwards); + this.groupBox3.Controls.Add(this.cb_run_cmd_afterwards); + this.groupBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.groupBox3.ForeColor = System.Drawing.Color.White; + this.groupBox3.Location = new System.Drawing.Point(175, 582); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(765, 122); + this.groupBox3.TabIndex = 14; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Run a program or command afterwards?"; + // + // txt_run_cmd_afterwards_args + // + this.txt_run_cmd_afterwards_args.Enabled = false; + this.txt_run_cmd_afterwards_args.Location = new System.Drawing.Point(251, 75); + this.txt_run_cmd_afterwards_args.Name = "txt_run_cmd_afterwards_args"; + this.txt_run_cmd_afterwards_args.Size = new System.Drawing.Size(479, 26); + this.txt_run_cmd_afterwards_args.TabIndex = 13; + // + // cb_run_cmd_afterwards_args + // + this.cb_run_cmd_afterwards_args.AutoSize = true; + this.cb_run_cmd_afterwards_args.ForeColor = System.Drawing.Color.White; + this.cb_run_cmd_afterwards_args.Location = new System.Drawing.Point(98, 77); + this.cb_run_cmd_afterwards_args.Name = "cb_run_cmd_afterwards_args"; + this.cb_run_cmd_afterwards_args.Size = new System.Drawing.Size(147, 24); + this.cb_run_cmd_afterwards_args.TabIndex = 12; + this.cb_run_cmd_afterwards_args.Text = "Pass arguments:"; + this.cb_run_cmd_afterwards_args.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.cb_run_cmd_afterwards_args.UseVisualStyleBackColor = true; + this.cb_run_cmd_afterwards_args.CheckedChanged += new System.EventHandler(this.cb_run_cmd_afterwards_args_CheckedChanged); + // + // btn_run_cmd_afterwards + // + this.btn_run_cmd_afterwards.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_run_cmd_afterwards.ForeColor = System.Drawing.Color.White; + this.btn_run_cmd_afterwards.Location = new System.Drawing.Point(645, 35); + this.btn_run_cmd_afterwards.Name = "btn_run_cmd_afterwards"; + this.btn_run_cmd_afterwards.Size = new System.Drawing.Size(85, 27); + this.btn_run_cmd_afterwards.TabIndex = 11; + this.btn_run_cmd_afterwards.Text = "Choose"; + this.btn_run_cmd_afterwards.UseVisualStyleBackColor = true; + // + // txt_run_cmd_afterwards + // + this.txt_run_cmd_afterwards.Enabled = false; + this.txt_run_cmd_afterwards.Location = new System.Drawing.Point(250, 36); + this.txt_run_cmd_afterwards.Name = "txt_run_cmd_afterwards"; + this.txt_run_cmd_afterwards.Size = new System.Drawing.Size(389, 26); + this.txt_run_cmd_afterwards.TabIndex = 10; + // + // cb_run_cmd_afterwards + // + this.cb_run_cmd_afterwards.AutoSize = true; + this.cb_run_cmd_afterwards.Location = new System.Drawing.Point(98, 38); + this.cb_run_cmd_afterwards.Name = "cb_run_cmd_afterwards"; + this.cb_run_cmd_afterwards.Size = new System.Drawing.Size(154, 24); + this.cb_run_cmd_afterwards.TabIndex = 0; + this.cb_run_cmd_afterwards.Text = "Run this program:"; + this.cb_run_cmd_afterwards.UseVisualStyleBackColor = true; + this.cb_run_cmd_afterwards.CheckedChanged += new System.EventHandler(this.cb_run_cmd_afterwards_CheckedChanged); + // // groupBox2 // this.groupBox2.Controls.Add(this.rb_switch_capture_permanent); this.groupBox2.Controls.Add(this.rb_switch_capture_temp); this.groupBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.groupBox2.ForeColor = System.Drawing.Color.White; - this.groupBox2.Location = new System.Drawing.Point(175, 404); + this.groupBox2.Location = new System.Drawing.Point(175, 395); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(765, 161); this.groupBox2.TabIndex = 13; @@ -1264,7 +1333,7 @@ namespace DisplayMagician.UIForms this.groupBox1.Controls.Add(this.rb_switch_audio_temp); this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.groupBox1.ForeColor = System.Drawing.Color.White; - this.groupBox1.Location = new System.Drawing.Point(175, 219); + this.groupBox1.Location = new System.Drawing.Point(175, 210); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(765, 161); this.groupBox1.TabIndex = 12; @@ -1303,7 +1372,7 @@ namespace DisplayMagician.UIForms this.gb_display_after.Controls.Add(this.rb_switch_display_temp); this.gb_display_after.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.gb_display_after.ForeColor = System.Drawing.Color.White; - this.gb_display_after.Location = new System.Drawing.Point(175, 31); + this.gb_display_after.Location = new System.Drawing.Point(175, 22); this.gb_display_after.Name = "gb_display_after"; this.gb_display_after.Size = new System.Drawing.Size(765, 162); this.gb_display_after.TabIndex = 11; @@ -1421,50 +1490,6 @@ namespace DisplayMagician.UIForms this.lbl_hotkey_assigned.Visible = false; this.lbl_hotkey_assigned.Click += new System.EventHandler(this.lbl_hotkey_assigned_Click); // - // groupBox3 - // - this.groupBox3.Controls.Add(this.btn_run_cmd_afterwards); - this.groupBox3.Controls.Add(this.txt_run_cmd_afterwards); - this.groupBox3.Controls.Add(this.cb_run_cmd_afterwards); - this.groupBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.groupBox3.ForeColor = System.Drawing.Color.White; - this.groupBox3.Location = new System.Drawing.Point(175, 591); - this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(765, 110); - this.groupBox3.TabIndex = 14; - this.groupBox3.TabStop = false; - this.groupBox3.Text = "Run a program or command afterwards?"; - // - // cb_run_cmd_afterwards - // - this.cb_run_cmd_afterwards.AutoSize = true; - this.cb_run_cmd_afterwards.Location = new System.Drawing.Point(98, 45); - this.cb_run_cmd_afterwards.Name = "cb_run_cmd_afterwards"; - this.cb_run_cmd_afterwards.Size = new System.Drawing.Size(154, 24); - this.cb_run_cmd_afterwards.TabIndex = 0; - this.cb_run_cmd_afterwards.Text = "Run this program:"; - this.cb_run_cmd_afterwards.UseVisualStyleBackColor = true; - this.cb_run_cmd_afterwards.CheckedChanged += new System.EventHandler(this.cb_run_cmd_afterwards_CheckedChanged); - // - // btn_run_cmd_afterwards - // - this.btn_run_cmd_afterwards.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btn_run_cmd_afterwards.ForeColor = System.Drawing.Color.White; - this.btn_run_cmd_afterwards.Location = new System.Drawing.Point(645, 42); - this.btn_run_cmd_afterwards.Name = "btn_run_cmd_afterwards"; - this.btn_run_cmd_afterwards.Size = new System.Drawing.Size(85, 27); - this.btn_run_cmd_afterwards.TabIndex = 11; - this.btn_run_cmd_afterwards.Text = "Choose"; - this.btn_run_cmd_afterwards.UseVisualStyleBackColor = true; - // - // txt_run_cmd_afterwards - // - this.txt_run_cmd_afterwards.Enabled = false; - this.txt_run_cmd_afterwards.Location = new System.Drawing.Point(250, 43); - this.txt_run_cmd_afterwards.Name = "txt_run_cmd_afterwards"; - this.txt_run_cmd_afterwards.Size = new System.Drawing.Size(389, 26); - this.txt_run_cmd_afterwards.TabIndex = 10; - // // ShortcutForm // this.AcceptButton = this.btn_save; @@ -1520,14 +1545,14 @@ namespace DisplayMagician.UIForms ((System.ComponentModel.ISupportInitialize)(this.pb_game_icon)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).EndInit(); this.tabp_after.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); this.gb_display_after.ResumeLayout(false); this.gb_display_after.PerformLayout(); - this.groupBox3.ResumeLayout(false); - this.groupBox3.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -1632,5 +1657,7 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.Button btn_run_cmd_afterwards; private System.Windows.Forms.TextBox txt_run_cmd_afterwards; private System.Windows.Forms.CheckBox cb_run_cmd_afterwards; + private System.Windows.Forms.TextBox txt_run_cmd_afterwards_args; + private System.Windows.Forms.CheckBox cb_run_cmd_afterwards_args; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index a09a9b8..fb9c45b 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1455,7 +1455,17 @@ namespace DisplayMagician.UIForms // Setup the single stop program we're beginning with if (_shortcutToEdit.StopPrograms is List && _shortcutToEdit.StopPrograms.Count > 0) { + cb_run_cmd_afterwards.Checked = true; txt_run_cmd_afterwards.Text = _shortcutToEdit.StopPrograms[0].Executable; + if (_shortcutToEdit.StopPrograms[0].ExecutableArgumentsRequired) + { + cb_run_cmd_afterwards_args.Checked = true; + txt_run_cmd_afterwards_args.Text = _shortcutToEdit.StopPrograms[0].Arguments; + } + } + else + { + cb_run_cmd_afterwards.Checked = false; } // Refresh the Shortcut UI @@ -2656,6 +2666,18 @@ namespace DisplayMagician.UIForms btn_run_cmd_afterwards.Enabled = false; } } + + private void cb_run_cmd_afterwards_args_CheckedChanged(object sender, EventArgs e) + { + if (cb_run_cmd_afterwards_args.Checked) + { + txt_run_cmd_afterwards_args.Enabled = true; + } + else + { + txt_run_cmd_afterwards_args.Enabled = false; + } + } } // Class used to populate combo boxes From 0926aa723d66e65b771b1a88ab2bc254dbd15a93 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Wed, 3 Nov 2021 08:34:16 +1300 Subject: [PATCH 081/112] Moved game bitmap parsing to GameLibrary 'Tis a better place for it to live. --- DisplayMagician/GameLibraries/GameLibrary.cs | 245 +++++++++++++++++++ DisplayMagician/Program.cs | 237 +----------------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 3 files changed, 250 insertions(+), 236 deletions(-) diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 1900e69..0d49761 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Threading.Tasks; using DisplayMagician; namespace DisplayMagician.GameLibraries @@ -18,6 +19,8 @@ namespace DisplayMagician.GameLibraries public class GameLibrary { + private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + public struct GameAppInfo { public string GameID; @@ -30,6 +33,8 @@ namespace DisplayMagician.GameLibraries #region Class Properties public static List AllInstalledGamesInAllLibraries { get; set; } + public static bool GamesLoaded { get; set; } = false; + public virtual List AllInstalledGames { get; set; } public virtual int InstalledGameCount { get; set; } @@ -108,6 +113,246 @@ namespace DisplayMagician.GameLibraries return null; } + public static bool LoadGamesInBackground() + { + + logger.Trace($"Program/LoadGamesInBackground: Attempting to load games from detected game libraries."); + + + // Now lets prepare loading all the Steam games we have installed + Action loadSteamGamesAction = new Action(() => + { + // Check if Steam is installed + GameLibrary steamLibrary = SteamLibrary.GetLibrary(); + if (steamLibrary.IsGameLibraryInstalled) + { + // Load Steam library games + logger.Info($"Program/LoadGamesInBackground: Loading Installed Steam Games"); + if (!steamLibrary.LoadInstalledGames()) + { + logger.Info($"Program/LoadGamesInBackground: Cannot load installed Steam Games!"); + } + logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Steam Games (found {steamLibrary.InstalledGameCount})"); + } + else + { + logger.Info($"Program/LoadGamesInBackground: Steam not installed."); + Console.WriteLine("Steam not installed."); + } + }); + + // Now lets prepare loading all the Uplay games we have installed + Action loadUplayGamesAction = new Action(() => + { + // Check if Uplay is installed + GameLibrary uplayLibrary = UplayLibrary.GetLibrary(); + if (uplayLibrary.IsGameLibraryInstalled) + { + // Load Uplay library games + logger.Info($"Program/LoadGamesInBackground: Loading Installed Uplay Games"); + if (!uplayLibrary.LoadInstalledGames()) + { + logger.Info($"Program/LoadGamesInBackground: Cannot load installed Uplay Games!"); + } + logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Uplay Games (found {uplayLibrary.InstalledGameCount})"); + } + else + { + logger.Info($"Program/LoadGamesInBackground: Uplay not installed."); + Console.WriteLine("Uplay not installed."); + } + + }); + + // Now lets prepare loading all the Origin games we have installed + Action loadOriginGamesAction = new Action(() => + { + // Check if Origin is installed + GameLibrary originLibrary = OriginLibrary.GetLibrary(); + if (originLibrary.IsGameLibraryInstalled) + { + // Load Origin library games + logger.Info($"Program/LoadGamesInBackground: Loading Installed Origin Games"); + if (!originLibrary.LoadInstalledGames()) + { + logger.Info($"Program/LoadGamesInBackground: Cannot load installed Origin Games!"); + } + logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Origin Games (found {originLibrary.InstalledGameCount})"); + } + else + { + logger.Info($"Program/LoadGamesInBackground: Origin not installed."); + Console.WriteLine("Origin not installed."); + } + + }); + + // Now lets prepare loading all the Epic games we have installed + Action loadEpicGamesAction = new Action(() => + { + // Check if Epic is installed + GameLibrary epicLibrary = EpicLibrary.GetLibrary(); + if (epicLibrary.IsGameLibraryInstalled) + { + // Load Origin library games + logger.Info($"Program/LoadGamesInBackground: Loading Installed Epic Games"); + if (!epicLibrary.LoadInstalledGames()) + { + logger.Info($"Program/LoadGamesInBackground: Cannot load installed Epic Games!"); + } + logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Epic Games (found {epicLibrary.InstalledGameCount})"); + } + else + { + logger.Info($"Program/LoadGamesInBackground: Epic not installed."); + Console.WriteLine("Epic not installed."); + } + + }); + + // Now lets prepare loading all the GOG games we have installed + Action loadGogGamesAction = new Action(() => + { + // Check if GOG is installed + GameLibrary gogLibrary = GogLibrary.GetLibrary(); + if (gogLibrary.IsGameLibraryInstalled) + { + // Load Origin library games + logger.Info($"Program/LoadGamesInBackground: Loading Installed GOG Games"); + if (!gogLibrary.LoadInstalledGames()) + { + logger.Info($"Program/LoadGamesInBackground: Cannot load installed GOG Games!"); + } + logger.Info($"Program/LoadGamesInBackground: Loaded all Installed GOG Games (found {gogLibrary.InstalledGameCount})"); + } + else + { + logger.Info($"Program/LoadGamesInBackground: GOG not installed."); + Console.WriteLine("GOG not installed."); + } + + }); + + // Store all the actions in a array so we can wait on them later + List loadGamesActions = new List(); + loadGamesActions.Add(loadSteamGamesAction); + loadGamesActions.Add(loadUplayGamesAction); + loadGamesActions.Add(loadOriginGamesAction); + loadGamesActions.Add(loadEpicGamesAction); + loadGamesActions.Add(loadGogGamesAction); + + try + { + logger.Debug($"Program/LoadGamesInBackground: Running game loading actions."); + // Go through and start all the actions, making sure we only have one threat per action to avoid thread issues + int threads = loadGamesActions.Count; + ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = threads }; + Parallel.Invoke(options, loadGamesActions.ToArray()); + // Once we get here , we know that all the parallel actions have returned + logger.Debug($"Program/LoadGamesInBackground: All game loading tasks finished"); + } + catch (AggregateException ae) + { + logger.Error(ae, $"Program/LoadGamesInBackground: One or more exception during execution of loadGamesActions"); + foreach (Exception ex in ae.InnerExceptions) + { + logger.Error(ex, $"Program/LoadGamesInBackground: LoadGamesActions exception:"); + } + } + + // Produce a single array of Games we can reference later + GameLibrary.AllInstalledGamesInAllLibraries = SteamLibrary.GetLibrary().AllInstalledGames; + GameLibrary.AllInstalledGamesInAllLibraries.AddRange(UplayLibrary.GetLibrary().AllInstalledGames); + GameLibrary.AllInstalledGamesInAllLibraries.AddRange(OriginLibrary.GetLibrary().AllInstalledGames); + GameLibrary.AllInstalledGamesInAllLibraries.AddRange(EpicLibrary.GetLibrary().AllInstalledGames); + GameLibrary.AllInstalledGamesInAllLibraries.AddRange(GogLibrary.GetLibrary().AllInstalledGames); + + // Create Game Bitmaps from the Games so the rest of the program is faster later + RefreshGameBitmaps(); + + GamesLoaded = true; + + return true; + } + + public static void RefreshGameBitmaps() + { + // Create Game Bitmaps from the Games so the rest of the program is faster later + // Get the bitmap out of the IconPath + // IconPath can be an ICO, or an EXE + foreach (var game in GameLibrary.AllInstalledGamesInAllLibraries) + { + List bmList = new List(); + try + { + /*ArrayList filesToSearchForIcon = new ArrayList(); + filesToSearchForIcon.Add(game.ExePath); + if (game.IconPath != game.ExePath) + filesToSearchForIcon.Add(game.IconPath); + + bm = ImageUtils.GetMeABitmapFromFile(filesToSearchForIcon);*/ + + // We only want the icon location that the GameLibrary told us to use + // Note: This may be an icon file, or an exe file. + // This function tries to get a 256x256 Vista sized bitmap from the file + logger.Trace($"Program/LoadGamesInBackground: Attempting to get game bitmaps from {game.Name}."); + bmList = ImageUtils.GetMeAllBitmapsFromFile(game.IconPath); + logger.Trace($"Program/LoadGamesInBackground: Got game bitmaps from {game.Name}."); + + } + catch (Exception ex) + { + logger.Error(ex, $"Program/LoadGamesInBackground: Exception building game bitmaps for {game.Name} during load"); + } + + if (bmList.Count == 0) + { + ShortcutBitmap bm = new ShortcutBitmap(); + bm.UUID = Guid.NewGuid().ToString("D"); + bm.Order = bmList.Count; + bm.Source = game.ExePath; + if (game.GameLibrary.Equals(SupportedGameLibraryType.Steam)) + { + bm.Name = "Steam"; + bm.Image = Properties.Resources.Steam; + } + else if (game.GameLibrary.Equals(SupportedGameLibraryType.Uplay)) + { + bm.Name = "Uplay"; + bm.Image = Properties.Resources.Uplay; + } + else if (game.GameLibrary.Equals(SupportedGameLibraryType.Origin)) + { + bm.Name = "Origin"; + bm.Image = Properties.Resources.Origin; + } + else if (game.GameLibrary.Equals(SupportedGameLibraryType.Epic)) + { + bm.Name = "Epic"; + bm.Image = Properties.Resources.Epic; + } + else if (game.GameLibrary.Equals(SupportedGameLibraryType.GOG)) + { + bm.Name = "GOG"; + bm.Image = Properties.Resources.GOG; + } + else + { + bm.Name = "DisplayMagician"; + bm.Image = Properties.Resources.DisplayMagician.ToBitmap(); + } + // Add the shortcutbitmap to the list + bmList.Add(bm); + + } + + game.AvailableGameBitmaps = bmList; + game.GameBitmap = ImageUtils.GetMeLargestAvailableBitmap(bmList); + } + } + + + #endregion } diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 87d42c8..1c2cf6b 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -379,7 +379,7 @@ namespace DisplayMagician { logger.Debug($"RunShortcut commandline command was invoked!"); // Load the games in background onexecute - LoadGamesInBackground(); + GameLibrary.LoadGamesInBackground(); RunShortcut(argumentShortcut.Value); return 0; @@ -598,7 +598,7 @@ namespace DisplayMagician { // Try to load all the games in parallel to this process //Task.Run(() => LoadGamesInBackground()); logger.Debug($"Try to load all the Games in the background to avoid locking the UI"); - LoadGamesInBackground(); + GameLibrary.LoadGamesInBackground(); StartUpApplication(); return 0; @@ -835,238 +835,7 @@ namespace DisplayMagician { } - public static bool LoadGamesInBackground() - { - - logger.Trace($"Program/LoadGamesInBackground: Attempting to load games from detected game libraries."); - - - // Now lets prepare loading all the Steam games we have installed - Action loadSteamGamesAction = new Action(() => - { - // Check if Steam is installed - GameLibrary steamLibrary = SteamLibrary.GetLibrary(); - if (steamLibrary.IsGameLibraryInstalled) - { - // Load Steam library games - logger.Info($"Program/LoadGamesInBackground: Loading Installed Steam Games"); - if (!steamLibrary.LoadInstalledGames()) - { - logger.Info($"Program/LoadGamesInBackground: Cannot load installed Steam Games!"); - } - logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Steam Games (found {steamLibrary.InstalledGameCount})"); - } - else - { - logger.Info($"Program/LoadGamesInBackground: Steam not installed."); - Console.WriteLine("Steam not installed."); - } - }); - - // Now lets prepare loading all the Uplay games we have installed - Action loadUplayGamesAction = new Action(() => - { - // Check if Uplay is installed - GameLibrary uplayLibrary = UplayLibrary.GetLibrary(); - if (uplayLibrary.IsGameLibraryInstalled) - { - // Load Uplay library games - logger.Info($"Program/LoadGamesInBackground: Loading Installed Uplay Games"); - if (!uplayLibrary.LoadInstalledGames()) - { - logger.Info($"Program/LoadGamesInBackground: Cannot load installed Uplay Games!"); - } - logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Uplay Games (found {uplayLibrary.InstalledGameCount})"); - } - else - { - logger.Info($"Program/LoadGamesInBackground: Uplay not installed."); - Console.WriteLine("Uplay not installed."); - } - - }); - - // Now lets prepare loading all the Origin games we have installed - Action loadOriginGamesAction = new Action(() => - { - // Check if Origin is installed - GameLibrary originLibrary = OriginLibrary.GetLibrary(); - if (originLibrary.IsGameLibraryInstalled) - { - // Load Origin library games - logger.Info($"Program/LoadGamesInBackground: Loading Installed Origin Games"); - if (!originLibrary.LoadInstalledGames()) - { - logger.Info($"Program/LoadGamesInBackground: Cannot load installed Origin Games!"); - } - logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Origin Games (found {originLibrary.InstalledGameCount})"); - } - else - { - logger.Info($"Program/LoadGamesInBackground: Origin not installed."); - Console.WriteLine("Origin not installed."); - } - - }); - - // Now lets prepare loading all the Epic games we have installed - Action loadEpicGamesAction = new Action(() => - { - // Check if Epic is installed - GameLibrary epicLibrary = EpicLibrary.GetLibrary(); - if (epicLibrary.IsGameLibraryInstalled) - { - // Load Origin library games - logger.Info($"Program/LoadGamesInBackground: Loading Installed Epic Games"); - if (!epicLibrary.LoadInstalledGames()) - { - logger.Info($"Program/LoadGamesInBackground: Cannot load installed Epic Games!"); - } - logger.Info($"Program/LoadGamesInBackground: Loaded all Installed Epic Games (found {epicLibrary.InstalledGameCount})"); - } - else - { - logger.Info($"Program/LoadGamesInBackground: Epic not installed."); - Console.WriteLine("Epic not installed."); - } - - }); - - // Now lets prepare loading all the GOG games we have installed - Action loadGogGamesAction = new Action(() => - { - // Check if GOG is installed - GameLibrary gogLibrary = GogLibrary.GetLibrary(); - if (gogLibrary.IsGameLibraryInstalled) - { - // Load Origin library games - logger.Info($"Program/LoadGamesInBackground: Loading Installed GOG Games"); - if (!gogLibrary.LoadInstalledGames()) - { - logger.Info($"Program/LoadGamesInBackground: Cannot load installed GOG Games!"); - } - logger.Info($"Program/LoadGamesInBackground: Loaded all Installed GOG Games (found {gogLibrary.InstalledGameCount})"); - } - else - { - logger.Info($"Program/LoadGamesInBackground: GOG not installed."); - Console.WriteLine("GOG not installed."); - } - - }); - - // Store all the actions in a array so we can wait on them later - List loadGamesActions = new List(); - loadGamesActions.Add(loadSteamGamesAction); - loadGamesActions.Add(loadUplayGamesAction); - loadGamesActions.Add(loadOriginGamesAction); - loadGamesActions.Add(loadEpicGamesAction); - loadGamesActions.Add(loadGogGamesAction); - - try - { - logger.Debug($"Program/LoadGamesInBackground: Running game loading actions."); - // Go through and start all the actions, making sure we only have one threat per action to avoid thread issues - int threads = loadGamesActions.Count; - ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = threads }; - Parallel.Invoke(options, loadGamesActions.ToArray()); - // Once we get here , we know that all the parallel actions have returned - logger.Debug($"Program/LoadGamesInBackground: All game loading tasks finished"); - } - catch (AggregateException ae) - { - logger.Error(ae, $"Program/LoadGamesInBackground: One or more exception during execution of loadGamesActions"); - foreach (Exception ex in ae.InnerExceptions) - { - logger.Error(ex, $"Program/LoadGamesInBackground: LoadGamesActions exception:"); - } - } - - // Produce a single array of Games we can reference later - GameLibrary.AllInstalledGamesInAllLibraries = SteamLibrary.GetLibrary().AllInstalledGames; - GameLibrary.AllInstalledGamesInAllLibraries.AddRange(UplayLibrary.GetLibrary().AllInstalledGames); - GameLibrary.AllInstalledGamesInAllLibraries.AddRange(OriginLibrary.GetLibrary().AllInstalledGames); - GameLibrary.AllInstalledGamesInAllLibraries.AddRange(EpicLibrary.GetLibrary().AllInstalledGames); - GameLibrary.AllInstalledGamesInAllLibraries.AddRange(GogLibrary.GetLibrary().AllInstalledGames); - - // Create Game Bitmaps from the Games so the rest of the program is faster later - // Get the bitmap out of the IconPath - // IconPath can be an ICO, or an EXE - foreach (var game in GameLibrary.AllInstalledGamesInAllLibraries) - { - List bmList = new List(); - try - { - /*ArrayList filesToSearchForIcon = new ArrayList(); - filesToSearchForIcon.Add(game.ExePath); - if (game.IconPath != game.ExePath) - filesToSearchForIcon.Add(game.IconPath); - - bm = ImageUtils.GetMeABitmapFromFile(filesToSearchForIcon);*/ - - // We only want the icon location that the GameLibrary told us to use - // Note: This may be an icon file, or an exe file. - // This function tries to get a 256x256 Vista sized bitmap from the file - logger.Trace($"Program/LoadGamesInBackground: Attempting to get game bitmaps from {game.Name}."); - bmList = ImageUtils.GetMeAllBitmapsFromFile(game.IconPath); - logger.Trace($"Program/LoadGamesInBackground: Got game bitmaps from {game.Name}."); - - } - catch (Exception ex) - { - logger.Error(ex, $"Program/LoadGamesInBackground: Exception building game bitmaps for {game.Name} during load"); - } - - if (bmList.Count == 0) - { - ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmList.Count; - bm.Source = game.ExePath; - if (game.GameLibrary.Equals(SupportedGameLibraryType.Steam)) - { - bm.Name = "Steam"; - bm.Image = Properties.Resources.Steam; - } - else if (game.GameLibrary.Equals(SupportedGameLibraryType.Uplay)) - { - bm.Name = "Uplay"; - bm.Image = Properties.Resources.Uplay; - } - else if (game.GameLibrary.Equals(SupportedGameLibraryType.Origin)) - { - bm.Name = "Origin"; - bm.Image = Properties.Resources.Origin; - } - else if (game.GameLibrary.Equals(SupportedGameLibraryType.Epic)) - { - bm.Name = "Epic"; - bm.Image = Properties.Resources.Epic; - } - else if (game.GameLibrary.Equals(SupportedGameLibraryType.GOG)) - { - bm.Name = "GOG"; - bm.Image = Properties.Resources.GOG; - } - else - { - bm.Name = "DisplayMagician"; - bm.Image = Properties.Resources.DisplayMagician.ToBitmap(); - } - // Add the shortcutbitmap to the list - bmList.Add(bm); - - } - - game.AvailableGameBitmaps = bmList; - game.GameBitmap = ImageUtils.GetMeLargestAvailableBitmap(bmList); - } - - _gamesLoaded = true; - - return true; - } - + public static string HotkeyToString(Keys hotkey) { string parsedHotkey = String.Empty; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 23af928..bf71356 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.110")] -[assembly: AssemblyFileVersion("2.1.0.110")] +[assembly: AssemblyVersion("2.1.0.111")] +[assembly: AssemblyFileVersion("2.1.0.111")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 65cca02e5da314bc7e062cb80d734271b639bf1b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Thu, 4 Nov 2021 21:25:31 +1300 Subject: [PATCH 082/112] [WIP] Partially working image selection Need to handle situation when image is null. --- DisplayMagician/GameLibraries/GameLibrary.cs | 4 +- DisplayMagician/ImageUtils.cs | 27 ++ DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 29 +-- DisplayMagician/UIForms/ShortcutForm.cs | 261 ++++++++++--------- 5 files changed, 182 insertions(+), 143 deletions(-) diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 0d49761..33a58de 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -267,8 +267,8 @@ namespace DisplayMagician.GameLibraries GameLibrary.AllInstalledGamesInAllLibraries.AddRange(EpicLibrary.GetLibrary().AllInstalledGames); GameLibrary.AllInstalledGamesInAllLibraries.AddRange(GogLibrary.GetLibrary().AllInstalledGames); - // Create Game Bitmaps from the Games so the rest of the program is faster later - RefreshGameBitmaps(); + // Stop creating Game Bitmaps from the Games so the rest of the program is faster later + //RefreshGameBitmaps(); GamesLoaded = true; diff --git a/DisplayMagician/ImageUtils.cs b/DisplayMagician/ImageUtils.cs index b7ef2e2..d6b2b91 100644 --- a/DisplayMagician/ImageUtils.cs +++ b/DisplayMagician/ImageUtils.cs @@ -12,6 +12,7 @@ using TsudaKageyu; using DisplayMagicianShared; using MintPlayer.IconUtils; using System.Runtime.InteropServices; +using System.IO; namespace DisplayMagician { @@ -559,6 +560,32 @@ namespace DisplayMagician } + public static bool ImagesAreEqual(Bitmap imageA, Bitmap imageB) + { + byte[] image1Bytes; + byte[] image2Bytes; + + if (imageA == null || imageB == null) + return false; + + using (var mstream = new MemoryStream()) + { + imageA.Save(mstream,ImageFormat.Bmp); + image1Bytes = mstream.ToArray(); + } + + using (var mstream = new MemoryStream()) + { + imageB.Save(mstream, ImageFormat.Bmp); + image2Bytes = mstream.ToArray(); + } + + var image164 = Convert.ToBase64String(image1Bytes); + var image264 = Convert.ToBase64String(image2Bytes); + + return string.Equals(image164, image264); + } + public static Bitmap ToBitmapOverlay(Bitmap originalBitmap, Bitmap overlayBitmap, int width, int height, PixelFormat format = PixelFormat.Format32bppArgb) { if (originalBitmap == null) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index bf71356..e78faea 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.111")] -[assembly: AssemblyFileVersion("2.1.0.111")] +[assembly: AssemblyVersion("2.1.0.125")] +[assembly: AssemblyFileVersion("2.1.0.125")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index e8eb0b0..7a52520 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -755,19 +755,6 @@ namespace DisplayMagician } } - public bool UserChoseOwnIcon - { - get - { - return _userChoseOwnIcon; - } - - set - { - _userChoseOwnIcon = value; - } - } - public ShortcutBitmap SelectedImage { get @@ -861,7 +848,7 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, - bool userChoseOwnIcon, + ShortcutBitmap selectedImage, List availableImages, bool changeAudioDevice = false, string audioDevice = "", @@ -908,7 +895,7 @@ namespace DisplayMagician _startPrograms = startPrograms; _stopPrograms = stopPrograms; _originalIconPath = originalIconPath; - _userChoseOwnIcon = userChoseOwnIcon; + _selectedImage = selectedImage; _availableImages = availableImages; _hotkey = hotkey; @@ -916,7 +903,8 @@ namespace DisplayMagician _profileUuid = profile.UUID; // We create the Bitmaps for the game - SetBitmapsForGame(); + //SetBitmapsForGame(); + _originalBitmap = selectedImage.Image; ReplaceShortcutIconInCache(); RefreshValidity(); @@ -932,7 +920,7 @@ namespace DisplayMagician ShortcutPermanence audioPermanence, ShortcutPermanence capturePermanence, string originalIconPath, - bool userChoseOwnIcon, + ShortcutBitmap selectedImage, List availableImages, bool changeAudioDevice = false, string audioDevice = "", @@ -976,7 +964,7 @@ namespace DisplayMagician _startPrograms = startPrograms; _stopPrograms = stopPrograms; _originalIconPath = originalIconPath; - _userChoseOwnIcon = userChoseOwnIcon; + _selectedImage = selectedImage; _availableImages = availableImages; _hotkey = hotkey; @@ -984,7 +972,8 @@ namespace DisplayMagician _profileUuid = profile.UUID; // We create the Bitmaps for the executable - SetBitmapsForExecutable(); + //SetBitmapsForExecutable(); + _originalBitmap = selectedImage.Image; ReplaceShortcutIconInCache(); RefreshValidity(); @@ -1022,7 +1011,7 @@ namespace DisplayMagician shortcut.OriginalLargeBitmap = OriginalLargeBitmap; shortcut.ShortcutBitmap = ShortcutBitmap; shortcut.SavedShortcutIconCacheFilename = SavedShortcutIconCacheFilename; - shortcut.UserChoseOwnIcon = UserChoseOwnIcon; + shortcut.SelectedImage = SelectedImage; shortcut.AvailableImages = AvailableImages; shortcut.IsValid = IsValid; shortcut.Errors.AddRange(Errors); diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index fb9c45b..ff98235 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1,23 +1,18 @@ using System; using System.Collections.Generic; -using System.Drawing.IconLib; using System.Drawing; using System.IO; using System.Linq; -using System.Reflection; -using System.Runtime.InteropServices; using System.Windows.Forms; using DisplayMagician.Resources; using DisplayMagicianShared; using DisplayMagician.GameLibraries; -using System.Globalization; using Manina.Windows.Forms; using System.Windows.Forms.VisualStyles; using AudioSwitcher.AudioApi.CoreAudio; using AudioSwitcher.AudioApi; using NHotkey.WindowsForms; using NHotkey; -//using WK.Libraries.HotkeyListenerNS; namespace DisplayMagician.UIForms { @@ -58,9 +53,9 @@ namespace DisplayMagician.UIForms private List captureDevices = null; private CoreAudioDevice selectedCaptureDevice = null; private Keys _hotkey = Keys.None; - private bool _userChoseOwnGameIcon = false; + //private bool _userChoseOwnGameIcon = false; //private string _userGameIconPath = ""; - private bool _userChoseOwnExeIcon = false; + //private bool _userChoseOwnExeIcon = false; //private string _userExeIconPath = ""; private List _availableImages = new List(); private ShortcutBitmap _selectedImage = new ShortcutBitmap(); @@ -513,7 +508,6 @@ namespace DisplayMagician.UIForms _stopPrograms.Add(stopProgram); } - // Now we create the Shortcut Object ready to save // If we're launching a game if (rb_launcher.Checked) @@ -564,18 +558,6 @@ namespace DisplayMagician.UIForms _gameToUse.GameToPlay = (from gogGame in GogLibrary.GetLibrary().AllInstalledGames where gogGame.Id == _gameId select gogGame).First(); } - // Now set the alternative icon if needed - /*if (cb_game_use_different_icon.Checked) - { - _userChoseOwnGameIcon = true; - _userGameIconPath = txt_game_use_different_icon.Text; - } - else - { - _userChoseOwnGameIcon = false; - _userGameIconPath = ""; - }*/ - try { _shortcutToEdit.UpdateGameShortcut( @@ -586,7 +568,7 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _gameToUse.GameToPlay.IconPath, - _userChoseOwnGameIcon, + _selectedImage, _availableImages, _changeAudioDevice, _audioDevice, @@ -613,7 +595,7 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _gameToUse.GameToPlay.IconPath, - _userChoseOwnGameIcon, + _selectedImage, _availableImages, _changeAudioDevice, _audioDevice, @@ -665,7 +647,7 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _executableToUse.ExecutableNameAndPath, - _userChoseOwnExeIcon, + _selectedImage, _availableImages, _changeAudioDevice, _audioDevice, @@ -691,7 +673,7 @@ namespace DisplayMagician.UIForms _audioPermanence, _capturePermanence, _executableToUse.ExecutableNameAndPath, - _userChoseOwnExeIcon, + _selectedImage, _availableImages, _changeAudioDevice, _audioDevice, @@ -940,6 +922,11 @@ namespace DisplayMagician.UIForms private void ShortcutForm_Load(object sender, EventArgs e) { + Game shortcutGame = null; + + + // Parse the game bitmaps now as we need them + GameLibraries.GameLibrary.RefreshGameBitmaps(); // Load all the profiles to prepare things bool foundChosenProfileInLoadedProfiles = false; @@ -1179,7 +1166,7 @@ namespace DisplayMagician.UIForms rb_change_capture.Checked = false; rb_set_capture_volume.Checked = false; } - + // Load all the Games into the Games ListView foreach (var game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries.OrderBy(game => game.Name)) @@ -1188,6 +1175,11 @@ namespace DisplayMagician.UIForms ImageListViewItem newItem = new ImageListViewItem(game, game.Name); //ilv_saved_profiles.Items.Add(newItem); ilv_games.Items.Add(newItem, _gameAdaptor); + if (game.Name.Equals(_shortcutToEdit.GameName)) + { + shortcutGame = game; + } + } if (_shortcutToEdit != null) @@ -1213,7 +1205,7 @@ namespace DisplayMagician.UIForms MessageBoxIcon.Exclamation); } } - + if (ProfileRepository.ContainsProfile(_shortcutToEdit.ProfileUUID)) { @@ -1232,7 +1224,7 @@ namespace DisplayMagician.UIForms @"Display Profile isn't possible now", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - + } } @@ -1240,7 +1232,7 @@ namespace DisplayMagician.UIForms } - if (!foundChosenProfileInLoadedProfiles && !String.IsNullOrWhiteSpace(_shortcutToEdit.ProfileUUID)) + if (!foundChosenProfileInLoadedProfiles && !String.IsNullOrWhiteSpace(_shortcutToEdit.ProfileUUID)) { MessageBox.Show( @"The Display Profile used by this Shortcut no longer exists and cannot be used. You need to choose a new Display Profile for this Shortcut.", @@ -1311,14 +1303,14 @@ namespace DisplayMagician.UIForms if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor)) { txt_alternative_game.Text = _shortcutToEdit.DifferentGameExeToMonitor; - } + } } else { cb_wait_alternative_game.Checked = false; } - + // Set the launcher items if we have them if (_shortcutToEdit.GameLibrary.Equals(SupportedGameLibraryType.Unknown)) { @@ -1384,35 +1376,111 @@ namespace DisplayMagician.UIForms // Set the shortcut name txt_shortcut_save_name.Text = _shortcutToEdit.Name; - /*if (_shortcutToEdit.Category == ShortcutCategory.Game) + // Set the selected image and available images (originalBitmap is set during shortcut update) + if (_shortcutToEdit.OriginalLargeBitmap == null || ImageUtils.ImagesAreEqual(_shortcutToEdit.SelectedImage.Image, _shortcutToEdit.OriginalLargeBitmap)) { - _userGameIconPath = _shortcutToEdit.UserIconPath; - txt_game_use_different_icon.Text = _userGameIconPath; - _userChoseOwnGameIcon = _shortcutToEdit.UserChoseOwnIcon; - if (_shortcutToEdit.UserChoseOwnIcon) - { - cb_game_use_different_icon.Checked = true; - } - else + // if there aren't any available images, then we need to find some! + if (_shortcutToEdit.Category == ShortcutCategory.Game) { - cb_game_use_different_icon.Checked = false; + // If this is a shortcut we're editing + _availableImages = new List(); + // If the game is selected, then grab images from the game + if (shortcutGame != null) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); + } + // If the different exe to monitor is set, then grab the icons from there too! + if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor) && File.Exists(_shortcutToEdit.DifferentGameExeToMonitor)) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentGameExeToMonitor)); + } + + bool matchedImage = false; + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + // go through available images and match the one we had + foreach (ShortcutBitmap sc in _availableImages) + { + if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) + { + // We've found the original image! + _selectedImage = sc; + pb_game_icon.Image = _selectedImage.Image; + matchedImage = true; + } + } + } + + if (!matchedImage) + { + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + pb_game_icon.Image = _selectedImage.Image; + } + + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + btn_choose_game_icon.Enabled = true; + } + + } + else if (_shortcutToEdit.Category == ShortcutCategory.Application) + { + // If this is a shortcut we're editing + _availableImages = new List(); + // If the exe is selected, then grab images from the exe + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.ExecutableNameAndPath)); + // If the different exe to monitor is set, then grab the icons from there too! + if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentExecutableToMonitor) && File.Exists(_shortcutToEdit.DifferentExecutableToMonitor)) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentExecutableToMonitor)); + } + + bool matchedImage = false; + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + // go through available images and match the one we had + foreach (ShortcutBitmap sc in _availableImages) + { + if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) + { + // We've found the original image! + _selectedImage = sc; + pb_game_icon.Image = _selectedImage.Image; + matchedImage = true; + } + } + } + + if (!matchedImage) + { + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + pb_game_icon.Image = _selectedImage.Image; + } + + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + btn_choose_exe_icon.Enabled = true; + } + } + + } + else + { + // This is the most common scenario + _selectedImage = _shortcutToEdit.SelectedImage; + _availableImages = _shortcutToEdit.AvailableImages; + if (_shortcutToEdit.Category == ShortcutCategory.Game) + { + pb_game_icon.Image = _shortcutToEdit.SelectedImage.Image; + btn_choose_game_icon.Enabled = true; + } + else if (_shortcutToEdit.Category == ShortcutCategory.Application) + { + pb_exe_icon.Image = _shortcutToEdit.SelectedImage.Image; + btn_choose_exe_icon.Enabled = true; } } - else if (_shortcutToEdit.Category == ShortcutCategory.Application) - { - _userExeIconPath = _shortcutToEdit.UserIconPath; - txt_exe_use_different_icon.Text = _userExeIconPath; - _userChoseOwnExeIcon = _shortcutToEdit.UserChoseOwnIcon; - if (_shortcutToEdit.UserChoseOwnIcon) - { - cb_exe_use_different_icon.Checked = true; - } - else - { - cb_exe_use_different_icon.Checked = false; - } - } */ - // Set up the start programs if (_shortcutToEdit.StartPrograms is List && _shortcutToEdit.StartPrograms.Count > 0) @@ -1495,6 +1563,9 @@ namespace DisplayMagician.UIForms // Disable the Game Panel p_game.Enabled = false; + // Empty the bitmaps + EmptyTheImages(); + SuggestShortcutName(); EnableSaveButtonIfValid(); } @@ -1515,12 +1586,23 @@ namespace DisplayMagician.UIForms // Disable the Standalone Panel p_standalone.Enabled = false; + // Empty the bitmaps + EmptyTheImages(); + SuggestShortcutName(); EnableSaveButtonIfValid(); } } + private void EmptyTheImages() + { + _availableImages.Clear(); + _selectedImage = new ShortcutBitmap(); + pb_exe_icon.Image = null; + pb_game_icon.Image = null; + } + private void rb_no_game_CheckedChanged(object sender, EventArgs e) { if (rb_no_game.Checked) @@ -2561,76 +2643,16 @@ namespace DisplayMagician.UIForms } - /*private void btn_game_use_different_icon_Click(object sender, EventArgs e) - { - string gamePath = ""; - foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) - { - if (game.Name == txt_game_name.Text) - { - gamePath = game.Directory; - break; - } - } - - dialog_open.InitialDirectory = gamePath; - dialog_open.DefaultExt = "*.exe"; - dialog_open.Filter = "exe or icon files (*.exe;*.com;*.ico) | *.exe;*.com;*.ico | All files(*.*) | *.*"; - if (dialog_open.ShowDialog(this) == DialogResult.OK) - { - if (_loadedShortcut) - _isUnsaved = true; - string fileExt = Path.GetExtension(dialog_open.FileName); - if (File.Exists(dialog_open.FileName) && (fileExt == @".exe" || fileExt == @".com" || fileExt == @".ico")) - { - txt_game_use_different_icon.Text = dialog_open.FileName; - dialog_open.FileName = string.Empty; - } - else - { - MessageBox.Show( - "You need to select either an executable or an icon file.", - "Select Exe or Icon", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - } - } - } - - private void btn_exe_use_different_icon_Click(object sender, EventArgs e) - { - dialog_open.InitialDirectory = Path.GetDirectoryName(_executableToUse.ExecutableNameAndPath); - dialog_open.DefaultExt = "*.exe"; - dialog_open.Filter = "exe or icon files (*.exe;*.com;*.ico) | *.exe;*.com;*.ico | All files(*.*) | *.*"; - if (dialog_open.ShowDialog(this) == DialogResult.OK) - { - if (_loadedShortcut) - _isUnsaved = true; - string fileExt = Path.GetExtension(dialog_open.FileName); - if (File.Exists(dialog_open.FileName) && (fileExt == @".exe" || fileExt == @".com" || fileExt == @".ico")) - { - txt_exe_use_different_icon.Text = dialog_open.FileName; - dialog_open.FileName = string.Empty; - } - else - { - MessageBox.Show( - "You need to select either an executable or an icon file.", - "Select Exe or Icon", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - } - } - } -*/ private void btn_choose_exe_icon_Click(object sender, EventArgs e) { if (rb_standalone.Checked && _shortcutToEdit.AvailableImages.Count > 0) { ChooseIconForm exeIconForm = new ChooseIconForm(); exeIconForm.AvailableImages = _shortcutToEdit.AvailableImages; + exeIconForm.SelectedImage = _shortcutToEdit.SelectedImage; if (exeIconForm.ShowDialog() == DialogResult.OK) { + _availableImages = exeIconForm.AvailableImages; _selectedImage = exeIconForm.SelectedImage; pb_exe_icon.Image = exeIconForm.SelectedImage.Image; } @@ -2644,11 +2666,12 @@ namespace DisplayMagician.UIForms { ChooseIconForm gameIconForm = new ChooseIconForm(); gameIconForm.AvailableImages = _shortcutToEdit.AvailableImages; + gameIconForm.SelectedImage = _shortcutToEdit.SelectedImage; if (gameIconForm.ShowDialog() == DialogResult.OK) { + _availableImages = gameIconForm.AvailableImages; _selectedImage = gameIconForm.SelectedImage; - pb_game_icon.Image = gameIconForm.SelectedImage.Image; - + pb_game_icon.Image = gameIconForm.SelectedImage.Image; } } } From 4d9216328d40750f7b1924b99846da62eb81c98c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 10:32:05 +1300 Subject: [PATCH 083/112] Working manual game icon selection Also copes with patching existing shortcuts --- DisplayMagician/ImageUtils.cs | 40 +-- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 98 +----- DisplayMagician/UIForms/ShortcutForm.cs | 329 ++++++++++-------- .../UIForms/ShortcutLibraryForm.cs | 10 +- 5 files changed, 217 insertions(+), 264 deletions(-) diff --git a/DisplayMagician/ImageUtils.cs b/DisplayMagician/ImageUtils.cs index d6b2b91..2849168 100644 --- a/DisplayMagician/ImageUtils.cs +++ b/DisplayMagician/ImageUtils.cs @@ -373,6 +373,7 @@ namespace DisplayMagician Icon myIcon = null; List bmList = new List(); int bmCount = 0; + string fileNameOnly = Path.GetFileName(fileNameAndPath); if (fileNameAndPath.EndsWith(".ico")) { @@ -384,12 +385,7 @@ namespace DisplayMagician myIcon = new Icon(fileNameAndPath, 256, 256); //Icon myIcon = Icon.ExtractAssociatedIcon(fileNameAndPath); - ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmCount++; - bm.Source = fileNameAndPath; - bm.Image = myIcon.ToBitmap(); - bm.Size = new Size(bm.Image.Width, bm.Image.Height); + ShortcutBitmap bm = CreateShortcutBitmap(myIcon.ToBitmap(), fileNameOnly, fileNameAndPath, bmCount++); // Add the shortcutbitmap to the list bmList.Add(bm); logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the icon file {fileNameAndPath} using standard Icon access method."); @@ -406,12 +402,7 @@ namespace DisplayMagician mySingleIcon.Load(fileNameAndPath); foreach (IconImage myIconImage in mySingleIcon) { - ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmCount++; - bm.Source = fileNameAndPath; - bm.Image = myIconImage.Image; - bm.Size = new Size(bm.Image.Width, bm.Image.Height); + ShortcutBitmap bm = CreateShortcutBitmap(myIconImage.Image, fileNameOnly, fileNameAndPath, bmCount++); // Add the shortcutbitmap to the list bmList.Add(bm); logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the icon file {fileNameAndPath} using MultiIcon access method."); @@ -453,12 +444,7 @@ namespace DisplayMagician Icon[] allIcons = ie.GetAllIcons(); foreach (Icon myExtractedIcon in allIcons) { - ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmCount++; - bm.Source = fileNameAndPath; - bm.Image = myExtractedIcon.ToBitmap(); - bm.Size = new Size(bm.Image.Width, bm.Image.Height); + ShortcutBitmap bm = CreateShortcutBitmap(myExtractedIcon.ToBitmap(), fileNameOnly, fileNameAndPath, bmCount++); // Add the shortcutbitmap to the list bmList.Add(bm); @@ -492,12 +478,7 @@ namespace DisplayMagician if (myIcon != null) { - ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmCount++; - bm.Source = fileNameAndPath; - bm.Image = myIcon.ToBitmap(); - bm.Size = new Size(bm.Image.Width, bm.Image.Height); + ShortcutBitmap bm = CreateShortcutBitmap(myIcon.ToBitmap(),fileNameOnly,fileNameAndPath,bmCount++); // Add the shortcutbitmap to the list bmList.Add(bm); @@ -559,6 +540,17 @@ namespace DisplayMagician } + public static ShortcutBitmap CreateShortcutBitmap(Bitmap bitmap, string name = "", string source = "", int order = 0) + { + ShortcutBitmap sc = new ShortcutBitmap(); + sc.UUID = Guid.NewGuid().ToString("D"); + sc.Name = name; + sc.Order = order; + sc.Source = source; + sc.Image = bitmap; + sc.Size = new Size(sc.Image.Width, sc.Image.Height); + return sc; + } public static bool ImagesAreEqual(Bitmap imageA, Bitmap imageB) { diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e78faea..d3f451a 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.125")] -[assembly: AssemblyFileVersion("2.1.0.125")] +[assembly: AssemblyVersion("2.1.0.132")] +[assembly: AssemblyFileVersion("2.1.0.132")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 7a52520..58b6b21 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -903,8 +903,9 @@ namespace DisplayMagician _profileUuid = profile.UUID; // We create the Bitmaps for the game - //SetBitmapsForGame(); _originalBitmap = selectedImage.Image; + // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); ReplaceShortcutIconInCache(); RefreshValidity(); @@ -972,8 +973,9 @@ namespace DisplayMagician _profileUuid = profile.UUID; // We create the Bitmaps for the executable - //SetBitmapsForExecutable(); _originalBitmap = selectedImage.Image; + // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it + _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); ReplaceShortcutIconInCache(); RefreshValidity(); @@ -1087,98 +1089,6 @@ namespace DisplayMagician } - public void SetBitmapsForGame() - { - // Get the user icon bitmap if its set. - if (_userChoseOwnIcon) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon."); - _originalBitmap = _selectedImage.Image; - } - else - { - // Get the game icon bitmap if we can find it. - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the game executable icon as the game icon instead from {_originalIconPath}."); - // Find the game bitmap that matches the game name we just got - foreach (var aGame in GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) - { - if (aGame.Name.Equals(_gameName)) - { - _selectedImage = aGame.GameBitmap; - _originalBitmap = aGame.GameBitmap.Image; - } - } - - } - // If we can't find the game icon bitmap then we try the icons for the game libraries themselves - if (_originalBitmap == null) - { - if (_gameLibrary == SupportedGameLibraryType.Steam) - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Steam icon as the icon instead."); - _originalBitmap = Properties.Resources.Steam; - } - else if (_gameLibrary == SupportedGameLibraryType.Uplay) - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Uplay icon as the icon instead."); - _originalBitmap = Properties.Resources.Uplay; - } - else if (_gameLibrary == SupportedGameLibraryType.Origin) - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Origin icon as the icon instead."); - _originalBitmap = Properties.Resources.Origin; - } - else if (_gameLibrary == SupportedGameLibraryType.Epic) - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the Epic icon as the icon instead."); - _originalBitmap = Properties.Resources.Epic; - } - else if (_gameLibrary == SupportedGameLibraryType.GOG) - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Using the GOG icon as the icon instead."); - _originalBitmap = Properties.Resources.GOG; - } - else - { - logger.Trace($"ShortcutItem/GetOriginalBitmapFromGame: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - _originalBitmap = Properties.Resources.DisplayMagician.ToBitmap(); - } - } - - // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it - _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); - - } - - public void SetBitmapsForExecutable() - { - - if (_userChoseOwnIcon) - { - logger.Trace($"ShortcutItem/ToBitmapOverlay: Using the user set icon as the game icon."); - _originalBitmap = _selectedImage.Image; - } - else - { - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Using the executable icon as the app icon instead from {_executableNameAndPath}."); - _availableImages = ImageUtils.GetMeAllBitmapsFromFile(_executableNameAndPath); - _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); - _originalBitmap = _selectedImage.Image; - - if (_originalBitmap == null) - { - logger.Trace($"ShortcutItem/SetBitmapsForExecutable: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); - _originalBitmap = ImageUtils.ToBitmapOverlay(Properties.Resources.DisplayMagician.ToBitmap(), _profileToUse.ProfileIcon.ToBitmap(), 256, 256); - } - - // Now we use the originalBitmap or userBitmap, and create the shortcutBitmap from it - _shortcutBitmap = ImageUtils.ToBitmapOverlay(_originalBitmap, _profileToUse.ProfileTightestBitmap, 256, 256); - - } - - - } - public void RefreshValidity() { // Do some validation checks to make sure the shortcut is sensible diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index ff98235..85cbc71 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -22,6 +22,7 @@ namespace DisplayMagician.UIForms private ProfileAdaptor _profileAdaptor; private GameAdaptor _gameAdaptor; + private bool _editingExistingShortcut = false; //private List _loadedProfiles = new List(); private ProfileItem _profileToUse = null; private string _gameLauncher = ""; @@ -62,7 +63,7 @@ namespace DisplayMagician.UIForms private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - public ShortcutForm(ShortcutItem shortcutToEdit) + public ShortcutForm(ShortcutItem shortcutToEdit, bool editingExistingShortcut = false) { InitializeComponent(); @@ -73,6 +74,7 @@ namespace DisplayMagician.UIForms _profileAdaptor = new ProfileAdaptor(); _gameAdaptor = new GameAdaptor(); + _editingExistingShortcut = editingExistingShortcut; _shortcutToEdit = shortcutToEdit; // Style the Saved Profiles list @@ -114,6 +116,11 @@ namespace DisplayMagician.UIForms get => _shortcutToEdit; } + public bool EditingExistingShortcut + { + get => _editingExistingShortcut; + set => _editingExistingShortcut = value; + } public SupportedGameLibraryType GameLibrary { @@ -197,13 +204,6 @@ namespace DisplayMagician.UIForms } } - /*private static bool IsLowQuality(IconImage iconImage) - { - return iconImage.PixelFormat == System.Drawing.Imaging.PixelFormat.Format1bppIndexed || - iconImage.PixelFormat == System.Drawing.Imaging.PixelFormat.Format4bppIndexed || - iconImage.PixelFormat == System.Drawing.Imaging.PixelFormat.Format8bppIndexed; - }*/ - private void btn_app_executable_Click(object sender, EventArgs e) { if (dialog_open.ShowDialog(this) == DialogResult.OK) @@ -1168,68 +1168,63 @@ namespace DisplayMagician.UIForms } - // Load all the Games into the Games ListView + // Load all the Games into the Games ListView foreach (var game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries.OrderBy(game => game.Name)) { // Add the game to the game array ImageListViewItem newItem = new ImageListViewItem(game, game.Name); //ilv_saved_profiles.Items.Add(newItem); ilv_games.Items.Add(newItem, _gameAdaptor); - if (game.Name.Equals(_shortcutToEdit.GameName)) + if (_editingExistingShortcut && game.Name.Equals(_shortcutToEdit.GameName)) { shortcutGame = game; } } - if (_shortcutToEdit != null) + if (_shortcutToEdit.Category == ShortcutCategory.Game && _shortcutToEdit.GameAppId != null) { - if (_shortcutToEdit.Category == ShortcutCategory.Game && _shortcutToEdit.GameAppId != null) + bool gameStillInstalled = false; + foreach (ImageListViewItem gameItem in ilv_games.Items) { - bool gameStillInstalled = false; - foreach (ImageListViewItem gameItem in ilv_games.Items) + if (gameItem.Text.Equals(_shortcutToEdit.GameName)) { - if (gameItem.Text.Equals(_shortcutToEdit.GameName)) - { - gameStillInstalled = true; - break; - } + gameStillInstalled = true; + break; + } - } - if (!gameStillInstalled) - { - DialogResult result = MessageBox.Show( - $"This shortcut refers to the '{_shortcutToEdit.GameName}' game that was installed in your {_shortcutToEdit.GameLibrary.ToString("G")} library. This game is no longer installed, so the shortcut won't work. You either need to change the game used in the Shortcut to another installed game, or you need to install the game files on your computer again.", - @"Game no longer exists", - MessageBoxButtons.OK, - MessageBoxIcon.Exclamation); - } } - - - if (ProfileRepository.ContainsProfile(_shortcutToEdit.ProfileUUID)) + if (!gameStillInstalled) { - // We have loaded the profile used last time - // so we need to show the selected profile in the UI - chosenProfile = ProfileRepository.GetProfile(_shortcutToEdit.ProfileUUID); - foundChosenProfileInLoadedProfiles = true; - - // If the profile is the same, but the user has renamed the profile - // since the shortcut was last created, then we need to tell the user - if (!chosenProfile.IsPossible) - { - - MessageBox.Show( - $"The '{chosenProfile.Name}' Display Profile used by this Shortcut still exists, but it isn't possible to use it right now. You can either change the Display Profile this Shortcut uses, or you can change your Displays to make the Display Profile valid again.", - @"Display Profile isn't possible now", + DialogResult result = MessageBox.Show( + $"This shortcut refers to the '{_shortcutToEdit.GameName}' game that was installed in your {_shortcutToEdit.GameLibrary.ToString("G")} library. This game is no longer installed, so the shortcut won't work. You either need to change the game used in the Shortcut to another installed game, or you need to install the game files on your computer again.", + @"Game no longer exists", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + } - } + + if (ProfileRepository.ContainsProfile(_shortcutToEdit.ProfileUUID)) + { + // We have loaded the profile used last time + // so we need to show the selected profile in the UI + chosenProfile = ProfileRepository.GetProfile(_shortcutToEdit.ProfileUUID); + foundChosenProfileInLoadedProfiles = true; + + // If the profile is the same, but the user has renamed the profile + // since the shortcut was last created, then we need to tell the user + if (!chosenProfile.IsPossible) + { + + MessageBox.Show( + $"The '{chosenProfile.Name}' Display Profile used by this Shortcut still exists, but it isn't possible to use it right now. You can either change the Display Profile this Shortcut uses, or you can change your Displays to make the Display Profile valid again.", + @"Display Profile isn't possible now", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); } - } if (!foundChosenProfileInLoadedProfiles && !String.IsNullOrWhiteSpace(_shortcutToEdit.ProfileUUID)) @@ -1310,13 +1305,12 @@ namespace DisplayMagician.UIForms cb_wait_alternative_game.Checked = false; } - // Set the launcher items if we have them if (_shortcutToEdit.GameLibrary.Equals(SupportedGameLibraryType.Unknown)) { if (DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries.Count <= 0) { - // Fill in the game library information to highliught there isn't one detected. + // Fill in the game library information to highlight there isn't one detected. _gameLauncher = "None detected"; txt_game_name.Text = "No supported game libraries detected"; txt_args_game.Text = ""; @@ -1346,6 +1340,7 @@ namespace DisplayMagician.UIForms } } + // Set the autoname checkbox cb_autosuggest.Checked = _shortcutToEdit.AutoName; // Set the executable items if we have them @@ -1364,11 +1359,9 @@ namespace DisplayMagician.UIForms if (_shortcutToEdit.ProcessNameToMonitorUsesExecutable) { rb_wait_executable.Checked = true; - //rb_wait_alternative_executable.Checked = false; } else { - //rb_wait_executable.Checked = false; rb_wait_alternative_executable.Checked = true; } txt_alternative_executable.Text = _shortcutToEdit.DifferentExecutableToMonitor; @@ -1377,109 +1370,171 @@ namespace DisplayMagician.UIForms txt_shortcut_save_name.Text = _shortcutToEdit.Name; // Set the selected image and available images (originalBitmap is set during shortcut update) - if (_shortcutToEdit.OriginalLargeBitmap == null || ImageUtils.ImagesAreEqual(_shortcutToEdit.SelectedImage.Image, _shortcutToEdit.OriginalLargeBitmap)) + + + if (_editingExistingShortcut) { - // if there aren't any available images, then we need to find some! - if (_shortcutToEdit.Category == ShortcutCategory.Game) + ShortcutBitmap defaultBitmap = new ShortcutBitmap(); + + // Check if AvailableImages have been set, because if not, then we need to 'upgrade' the image structure + // To use this new way of working + if (_shortcutToEdit.AvailableImages.Count > 0) { - // If this is a shortcut we're editing - _availableImages = new List(); - // If the game is selected, then grab images from the game - if (shortcutGame != null) - { - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); - } - // If the different exe to monitor is set, then grab the icons from there too! - if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor) && File.Exists(_shortcutToEdit.DifferentGameExeToMonitor)) - { - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentGameExeToMonitor)); - } - - bool matchedImage = false; - if (_shortcutToEdit.OriginalLargeBitmap != null) - { - // go through available images and match the one we had - foreach (ShortcutBitmap sc in _availableImages) - { - if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) - { - // We've found the original image! - _selectedImage = sc; - pb_game_icon.Image = _selectedImage.Image; - matchedImage = true; - } - } - } - - if (!matchedImage) - { - _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); - pb_game_icon.Image = _selectedImage.Image; - } - - if (_shortcutToEdit.OriginalLargeBitmap != null) + _selectedImage = _shortcutToEdit.SelectedImage; + _availableImages = _shortcutToEdit.AvailableImages; + if (_shortcutToEdit.Category == ShortcutCategory.Game) { + pb_game_icon.Image = _shortcutToEdit.SelectedImage.Image; btn_choose_game_icon.Enabled = true; - } - - } - else if (_shortcutToEdit.Category == ShortcutCategory.Application) - { - // If this is a shortcut we're editing - _availableImages = new List(); - // If the exe is selected, then grab images from the exe - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.ExecutableNameAndPath)); - // If the different exe to monitor is set, then grab the icons from there too! - if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentExecutableToMonitor) && File.Exists(_shortcutToEdit.DifferentExecutableToMonitor)) - { - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentExecutableToMonitor)); } - - bool matchedImage = false; - if (_shortcutToEdit.OriginalLargeBitmap != null) + else if (_shortcutToEdit.Category == ShortcutCategory.Application) { - // go through available images and match the one we had - foreach (ShortcutBitmap sc in _availableImages) + pb_exe_icon.Image = _shortcutToEdit.SelectedImage.Image; + btn_choose_exe_icon.Enabled = true; + } + } + else + { + // if there aren't any available images, then we need to find some! + if (_shortcutToEdit.Category == ShortcutCategory.Game) + { + // If this is a shortcut we're editing + _availableImages = new List(); + // If the game is selected, then grab images from the game + if (shortcutGame != null) { - if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); + } + // If the different exe to monitor is set, then grab the icons from there too! + if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor) && File.Exists(_shortcutToEdit.DifferentGameExeToMonitor)) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentGameExeToMonitor)); + } + + // If we still don't have any availableImages, then we need to add some emergency replacements! + if (_availableImages.Count == 0) + { + if (_shortcutToEdit.GameLibrary == SupportedGameLibraryType.Steam) { - // We've found the original image! - _selectedImage = sc; - pb_game_icon.Image = _selectedImage.Image; - matchedImage = true; + logger.Trace($"ShortcutForm/ShortcutForm_Load: Using the Steam icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Steam, "Steam Icon", "", 0); + _availableImages.Add(bm); + } + else if (_shortcutToEdit.GameLibrary == SupportedGameLibraryType.Uplay) + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Using the Uplay icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Uplay, "Uplay Icon", "", 0); + _availableImages.Add(bm); + } + else if (_shortcutToEdit.GameLibrary == SupportedGameLibraryType.Origin) + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Using the Origin icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Origin, "Origin Icon", "", 0); + _availableImages.Add(bm); + } + else if (_shortcutToEdit.GameLibrary == SupportedGameLibraryType.Epic) + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Using the Epic icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Epic, "Epic Icon", "", 0); + _availableImages.Add(bm); + } + else if (_shortcutToEdit.GameLibrary == SupportedGameLibraryType.GOG) + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Using the GOG icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.GOG, "GOG Icon", "", 0); + _availableImages.Add(bm); + } + else + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.DisplayMagician.ToBitmap(), "DisplayMagician Icon", "", 0); + _availableImages.Add(bm); + } + + } + + bool matchedImage = false; + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + // go through available images and match the one we had + foreach (ShortcutBitmap sc in _availableImages) + { + if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) + { + // We've found the original image! + _selectedImage = sc; + pb_game_icon.Image = _selectedImage.Image; + matchedImage = true; + break; + } } } - } - if (!matchedImage) - { - _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); - pb_game_icon.Image = _selectedImage.Image; - } + if (!matchedImage) + { + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + pb_game_icon.Image = _selectedImage.Image; + } - if (_shortcutToEdit.OriginalLargeBitmap != null) + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + btn_choose_game_icon.Enabled = true; + } + + } + else if (_shortcutToEdit.Category == ShortcutCategory.Application) { - btn_choose_exe_icon.Enabled = true; - } - } - + // If this is a shortcut we're editing + _availableImages = new List(); + // If the exe is selected, then grab images from the exe + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.ExecutableNameAndPath)); + // If the different exe to monitor is set, then grab the icons from there too! + if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentExecutableToMonitor) && File.Exists(_shortcutToEdit.DifferentExecutableToMonitor)) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(_shortcutToEdit.DifferentExecutableToMonitor)); + } + + if (_availableImages.Count == 0) + { + logger.Trace($"ShortcutForm/ShortcutForm_Load: Unknown Game Library, so using the DisplayMagician icon as the icon instead."); + ShortcutBitmap bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.DisplayMagician.ToBitmap(), "DisplayMagician Icon", "", 0); + _availableImages.Add(bm); + + } + + bool matchedImage = false; + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + // go through available images and match the one we had + foreach (ShortcutBitmap sc in _availableImages) + { + if (ImageUtils.ImagesAreEqual(sc.Image, _shortcutToEdit.OriginalLargeBitmap)) + { + // We've found the original image! + _selectedImage = sc; + pb_game_icon.Image = _selectedImage.Image; + matchedImage = true; + } + } + } + + if (!matchedImage) + { + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + pb_game_icon.Image = _selectedImage.Image; + } + + if (_shortcutToEdit.OriginalLargeBitmap != null) + { + btn_choose_exe_icon.Enabled = true; + } + } + } } else { - // This is the most common scenario - _selectedImage = _shortcutToEdit.SelectedImage; - _availableImages = _shortcutToEdit.AvailableImages; - if (_shortcutToEdit.Category == ShortcutCategory.Game) - { - pb_game_icon.Image = _shortcutToEdit.SelectedImage.Image; - btn_choose_game_icon.Enabled = true; - } - else if (_shortcutToEdit.Category == ShortcutCategory.Application) - { - pb_exe_icon.Image = _shortcutToEdit.SelectedImage.Image; - btn_choose_exe_icon.Enabled = true; - } + // We're editing a new shortcut, so no game or anything selected } // Set up the start programs diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 19981ac..55ce1b1 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -264,7 +264,7 @@ namespace DisplayMagician.UIForms private void btn_new_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; - var shortcutForm = new ShortcutForm(new ShortcutItem()); + var shortcutForm = new ShortcutForm(new ShortcutItem(),false); //ShortcutRepository.IsValidRefresh(); shortcutForm.ShowDialog(this); if (shortcutForm.DialogResult == DialogResult.OK) @@ -312,12 +312,8 @@ namespace DisplayMagician.UIForms _selectedShortcut = GetShortcutFromUUID(shortcutUUID); this.Cursor = Cursors.WaitCursor; - - // We need to stop ImageListView redrawing things before we're ready - // This stops an exception when ILV is just too keen! - - - var shortcutForm = new ShortcutForm(_selectedShortcut); + + var shortcutForm = new ShortcutForm(_selectedShortcut,true); //ilv_saved_shortcuts.SuspendLayout(); shortcutForm.ShowDialog(this); if (shortcutForm.DialogResult == DialogResult.OK) From 41a75acb1a57ccbacbae374199fd6a058bc66de6 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 11:26:11 +1300 Subject: [PATCH 084/112] Working icon selector It looks like the work is done on the icon selector. Adds #51, hopefully fixing the last issue in #49 too. --- DisplayMagician/GameLibraries/GameLibrary.cs | 27 ++++++------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/ChooseIconForm.Designer.cs | 35 ++++++++++------- DisplayMagician/UIForms/ChooseIconForm.cs | 6 ++- DisplayMagician/UIForms/ShortcutForm.cs | 38 +++++++++++++++---- 5 files changed, 71 insertions(+), 39 deletions(-) diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 33a58de..6de160e 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -296,7 +296,11 @@ namespace DisplayMagician.GameLibraries // Note: This may be an icon file, or an exe file. // This function tries to get a 256x256 Vista sized bitmap from the file logger.Trace($"Program/LoadGamesInBackground: Attempting to get game bitmaps from {game.Name}."); - bmList = ImageUtils.GetMeAllBitmapsFromFile(game.IconPath); + bmList.AddRange(ImageUtils.GetMeAllBitmapsFromFile(game.IconPath)); + if (game.ExePath != game.IconPath) + { + bmList.AddRange(ImageUtils.GetMeAllBitmapsFromFile(game.ExePath)); + } logger.Trace($"Program/LoadGamesInBackground: Got game bitmaps from {game.Name}."); } @@ -308,38 +312,29 @@ namespace DisplayMagician.GameLibraries if (bmList.Count == 0) { ShortcutBitmap bm = new ShortcutBitmap(); - bm.UUID = Guid.NewGuid().ToString("D"); - bm.Order = bmList.Count; - bm.Source = game.ExePath; if (game.GameLibrary.Equals(SupportedGameLibraryType.Steam)) { - bm.Name = "Steam"; - bm.Image = Properties.Resources.Steam; + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Steam, "Steam Icon", game.ExePath, bmList.Count); } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Uplay)) { - bm.Name = "Uplay"; - bm.Image = Properties.Resources.Uplay; + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Uplay, "Uplay Icon", game.ExePath, bmList.Count); } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Origin)) { - bm.Name = "Origin"; - bm.Image = Properties.Resources.Origin; + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Origin, "Origin Icon", game.ExePath, bmList.Count); } else if (game.GameLibrary.Equals(SupportedGameLibraryType.Epic)) { - bm.Name = "Epic"; - bm.Image = Properties.Resources.Epic; + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.Epic, "Epic Icon", game.ExePath, bmList.Count); } else if (game.GameLibrary.Equals(SupportedGameLibraryType.GOG)) { - bm.Name = "GOG"; - bm.Image = Properties.Resources.GOG; + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.GOG, "GOG Icon", game.ExePath, bmList.Count); } else { - bm.Name = "DisplayMagician"; - bm.Image = Properties.Resources.DisplayMagician.ToBitmap(); + bm = ImageUtils.CreateShortcutBitmap(Properties.Resources.DisplayMagician.ToBitmap(), "DisplayMagician Icon", game.ExePath, bmList.Count); } // Add the shortcutbitmap to the list bmList.Add(bm); diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index d3f451a..b750474 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.132")] -[assembly: AssemblyFileVersion("2.1.0.132")] +[assembly: AssemblyVersion("2.1.0.142")] +[assembly: AssemblyFileVersion("2.1.0.142")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs index 317e362..3bd1b7e 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs +++ b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs @@ -31,36 +31,43 @@ namespace DisplayMagician.UIForms { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChooseIconForm)); this.lv_icons = new System.Windows.Forms.ListView(); + this.columnHeaderName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.pb_selected_icon = new System.Windows.Forms.PictureBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.btn_add = new System.Windows.Forms.Button(); this.btn_select = new System.Windows.Forms.Button(); this.btn_back = new System.Windows.Forms.Button(); - this.columnHeaderName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeaderSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); ((System.ComponentModel.ISupportInitialize)(this.pb_selected_icon)).BeginInit(); this.SuspendLayout(); // // lv_icons // this.lv_icons.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.columnHeaderName}); - this.lv_icons.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.columnHeaderName, + this.columnHeaderSize}); + this.lv_icons.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; this.lv_icons.HideSelection = false; this.lv_icons.Location = new System.Drawing.Point(26, 40); this.lv_icons.MultiSelect = false; this.lv_icons.Name = "lv_icons"; this.lv_icons.ShowGroups = false; - this.lv_icons.Size = new System.Drawing.Size(561, 200); + this.lv_icons.Size = new System.Drawing.Size(370, 200); this.lv_icons.TabIndex = 0; this.lv_icons.UseCompatibleStateImageBehavior = false; this.lv_icons.View = System.Windows.Forms.View.Details; this.lv_icons.SelectedIndexChanged += new System.EventHandler(this.lv_icons_SelectedIndexChanged); // + // columnHeaderName + // + this.columnHeaderName.Text = "Name"; + this.columnHeaderName.Width = 270; + // // pb_selected_icon // this.pb_selected_icon.BackColor = System.Drawing.Color.DimGray; - this.pb_selected_icon.Location = new System.Drawing.Point(593, 40); + this.pb_selected_icon.Location = new System.Drawing.Point(402, 40); this.pb_selected_icon.Name = "pb_selected_icon"; this.pb_selected_icon.Size = new System.Drawing.Size(200, 200); this.pb_selected_icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -73,7 +80,7 @@ namespace DisplayMagician.UIForms this.label1.BackColor = System.Drawing.Color.Black; this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label1.ForeColor = System.Drawing.Color.White; - this.label1.Location = new System.Drawing.Point(238, 21); + this.label1.Location = new System.Drawing.Point(139, 21); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(125, 16); this.label1.TabIndex = 2; @@ -86,7 +93,7 @@ namespace DisplayMagician.UIForms this.label2.BackColor = System.Drawing.Color.Black; this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label2.ForeColor = System.Drawing.Color.White; - this.label2.Location = new System.Drawing.Point(652, 21); + this.label2.Location = new System.Drawing.Point(457, 21); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(93, 16); this.label2.TabIndex = 3; @@ -110,7 +117,7 @@ namespace DisplayMagician.UIForms this.btn_select.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_select.ForeColor = System.Drawing.Color.White; - this.btn_select.Location = new System.Drawing.Point(314, 261); + this.btn_select.Location = new System.Drawing.Point(218, 261); this.btn_select.Name = "btn_select"; this.btn_select.Size = new System.Drawing.Size(176, 30); this.btn_select.TabIndex = 40; @@ -123,7 +130,7 @@ namespace DisplayMagician.UIForms this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_back.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_back.ForeColor = System.Drawing.Color.White; - this.btn_back.Location = new System.Drawing.Point(714, 261); + this.btn_back.Location = new System.Drawing.Point(525, 261); this.btn_back.Name = "btn_back"; this.btn_back.Size = new System.Drawing.Size(79, 30); this.btn_back.TabIndex = 41; @@ -131,17 +138,17 @@ namespace DisplayMagician.UIForms this.btn_back.UseVisualStyleBackColor = true; this.btn_back.Click += new System.EventHandler(this.btn_back_Click); // - // columnHeaderName + // columnHeaderSize // - this.columnHeaderName.Text = "Name"; - this.columnHeaderName.Width = 550; + this.columnHeaderSize.Text = "Size"; + this.columnHeaderSize.Width = 70; // // ChooseIconForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; - this.ClientSize = new System.Drawing.Size(819, 319); + this.ClientSize = new System.Drawing.Size(629, 319); this.Controls.Add(this.btn_back); this.Controls.Add(this.btn_select); this.Controls.Add(this.btn_add); @@ -156,6 +163,7 @@ namespace DisplayMagician.UIForms this.Name = "ChooseIconForm"; this.ShowIcon = false; this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Choose shortcut icon"; this.TopMost = true; this.Load += new System.EventHandler(this.ChooseIconForm_Load); @@ -175,5 +183,6 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.Button btn_select; private System.Windows.Forms.Button btn_back; private System.Windows.Forms.ColumnHeader columnHeaderName; + private System.Windows.Forms.ColumnHeader columnHeaderSize; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ChooseIconForm.cs b/DisplayMagician/UIForms/ChooseIconForm.cs index 678ab9d..aa31537 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.cs +++ b/DisplayMagician/UIForms/ChooseIconForm.cs @@ -46,7 +46,11 @@ namespace DisplayMagician.UIForms int imageCount = 1; foreach (ShortcutBitmap sc in AvailableImages) { - ListViewItem lvi = new ListViewItem($"Image {sc.Order} from {sc.Source}"); + string[] stringsToAdd = new string[] { + $"Image {sc.Order} from {sc.Name}", + $"{sc.Size.Width} x {sc.Size.Height}" + }; + ListViewItem lvi = new ListViewItem(stringsToAdd); lvi.Name = sc.UUID; if (sc.Equals(SelectedImage)) { diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 85cbc71..d235374 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1403,8 +1403,12 @@ namespace DisplayMagician.UIForms // If the game is selected, then grab images from the game if (shortcutGame != null) { - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); + if (shortcutGame.ExePath != shortcutGame.IconPath) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); + } + } // If the different exe to monitor is set, then grab the icons from there too! if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor) && File.Exists(_shortcutToEdit.DifferentGameExeToMonitor)) @@ -1621,6 +1625,11 @@ namespace DisplayMagician.UIForms // Empty the bitmaps EmptyTheImages(); + if (!String.IsNullOrWhiteSpace(txt_executable.Text) && File.Exists(txt_executable.Text)) + { + UpdateExeImagesUI(); + } + SuggestShortcutName(); EnableSaveButtonIfValid(); } @@ -1971,6 +1980,21 @@ namespace DisplayMagician.UIForms private void btn_exe_to_start_Click(object sender, EventArgs e) { txt_executable.Text = getExeFile(); + UpdateExeImagesUI(); + } + + private void UpdateExeImagesUI() + { + _availableImages = new List(); + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(txt_executable.Text)); + if (rb_wait_alternative_executable.Checked && File.Exists(txt_alternative_executable.Text)) + { + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(txt_alternative_executable.Text)); + } + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + _shortcutToEdit.SelectedImage = _selectedImage; + pb_exe_icon.Image = _selectedImage.Image; + btn_choose_exe_icon.Enabled = true; } private void txt_shortcut_save_name_Click(object sender, EventArgs e) @@ -2700,11 +2724,11 @@ namespace DisplayMagician.UIForms private void btn_choose_exe_icon_Click(object sender, EventArgs e) { - if (rb_standalone.Checked && _shortcutToEdit.AvailableImages.Count > 0) + if (rb_standalone.Checked && _availableImages.Count > 0) { ChooseIconForm exeIconForm = new ChooseIconForm(); - exeIconForm.AvailableImages = _shortcutToEdit.AvailableImages; - exeIconForm.SelectedImage = _shortcutToEdit.SelectedImage; + exeIconForm.AvailableImages = _availableImages; + exeIconForm.SelectedImage = _selectedImage; if (exeIconForm.ShowDialog() == DialogResult.OK) { _availableImages = exeIconForm.AvailableImages; @@ -2720,8 +2744,8 @@ namespace DisplayMagician.UIForms if (rb_launcher.Checked && _shortcutToEdit.AvailableImages.Count > 0) { ChooseIconForm gameIconForm = new ChooseIconForm(); - gameIconForm.AvailableImages = _shortcutToEdit.AvailableImages; - gameIconForm.SelectedImage = _shortcutToEdit.SelectedImage; + gameIconForm.AvailableImages = _availableImages; + gameIconForm.SelectedImage = _selectedImage; if (gameIconForm.ShowDialog() == DialogResult.OK) { _availableImages = gameIconForm.AvailableImages; From ccba5cac40a80bb33d0b294a06447231dff63153 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 15:20:35 +1300 Subject: [PATCH 085/112] Fixed run afterwards program Fixes #48. It's not a full blown "run multiple programs" fix, but it will at least allow people to start to experiment with a single program (or powershell file if more than one needed) --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/ShortcutItem.cs | 1 - .../UIForms/ChooseIconForm.Designer.cs | 1 + DisplayMagician/UIForms/ChooseIconForm.cs | 5 +++++ .../UIForms/ShortcutForm.Designer.cs | 2 ++ DisplayMagician/UIForms/ShortcutForm.cs | 21 +++++++++++++++---- 6 files changed, 27 insertions(+), 7 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b750474..36c1863 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.142")] -[assembly: AssemblyFileVersion("2.1.0.142")] +[assembly: AssemblyVersion("2.1.0.145")] +[assembly: AssemblyFileVersion("2.1.0.145")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 58b6b21..94d5faa 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -69,7 +69,6 @@ namespace DisplayMagician public string Executable; public string Arguments; public bool ExecutableArgumentsRequired; - public bool CloseOnFinish; public bool DontStartIfAlreadyRunning; } diff --git a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs index 3bd1b7e..c10bbc1 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs +++ b/DisplayMagician/UIForms/ChooseIconForm.Designer.cs @@ -111,6 +111,7 @@ namespace DisplayMagician.UIForms this.btn_add.TabIndex = 39; this.btn_add.Text = "Add icons"; this.btn_add.UseVisualStyleBackColor = true; + this.btn_add.Click += new System.EventHandler(this.btn_add_Click); // // btn_select // diff --git a/DisplayMagician/UIForms/ChooseIconForm.cs b/DisplayMagician/UIForms/ChooseIconForm.cs index aa31537..f2e1754 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.cs +++ b/DisplayMagician/UIForms/ChooseIconForm.cs @@ -97,5 +97,10 @@ namespace DisplayMagician.UIForms } } } + + private void btn_add_Click(object sender, EventArgs e) + { + + } } } diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index 0296cfb..e5788ef 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -1260,6 +1260,7 @@ namespace DisplayMagician.UIForms // // btn_run_cmd_afterwards // + this.btn_run_cmd_afterwards.Enabled = false; this.btn_run_cmd_afterwards.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_run_cmd_afterwards.ForeColor = System.Drawing.Color.White; this.btn_run_cmd_afterwards.Location = new System.Drawing.Point(645, 35); @@ -1268,6 +1269,7 @@ namespace DisplayMagician.UIForms this.btn_run_cmd_afterwards.TabIndex = 11; this.btn_run_cmd_afterwards.Text = "Choose"; this.btn_run_cmd_afterwards.UseVisualStyleBackColor = true; + this.btn_run_cmd_afterwards.Click += new System.EventHandler(this.btn_run_cmd_afterwards_Click); // // txt_run_cmd_afterwards // diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index d235374..9a993ad 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -500,10 +500,18 @@ namespace DisplayMagician.UIForms StopProgram stopProgram = new StopProgram(); stopProgram.Executable = txt_run_cmd_afterwards.Text; stopProgram.Priority = 0; - stopProgram.DontStartIfAlreadyRunning = false; - stopProgram.Arguments = ""; + stopProgram.DontStartIfAlreadyRunning = false; stopProgram.Disabled = false; - stopProgram.ExecutableArgumentsRequired = false; + if (cb_run_cmd_afterwards_args.Checked) + { + stopProgram.ExecutableArgumentsRequired = true; + stopProgram.Arguments = txt_run_cmd_afterwards_args.Text; + } + else + { + stopProgram.ExecutableArgumentsRequired = false; + stopProgram.Arguments = ""; + } stopProgram.ProcessPriority = ProcessPriority.Normal; _stopPrograms.Add(stopProgram); } @@ -585,7 +593,7 @@ namespace DisplayMagician.UIForms _hotkey ); } - catch(Exception ex) + catch(Exception ex) { logger.Error(ex,$"ShortcutForm/btn_save_Click: Exception while trying to update a game shortcut! : ", txt_shortcut_save_name.Text, @@ -2780,6 +2788,11 @@ namespace DisplayMagician.UIForms txt_run_cmd_afterwards_args.Enabled = false; } } + + private void btn_run_cmd_afterwards_Click(object sender, EventArgs e) + { + txt_run_cmd_afterwards.Text = getExeFile(); + } } // Class used to populate combo boxes From 9e91e0fd454169a1d59eaf7891ef3077da675d07 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 16:28:58 +1300 Subject: [PATCH 086/112] Now can import images as icons As an extension to what was requested, you can now import any images and use those as the shortcut image (including the desktop image!). This amazing new functionality now makes it possible to make your shortcuts look exactly as you want them! --- DisplayMagician/DisplayMagician.csproj | 12 +- DisplayMagician/ImageUtils.cs | 241 ++---------------- DisplayMagician/Program.cs | 1 + DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/Resources/x.png | Bin 0 -> 9496 bytes DisplayMagician/UIForms/ChooseIconForm.cs | 106 -------- ...esigner.cs => ChooseImageForm.Designer.cs} | 58 +++-- DisplayMagician/UIForms/ChooseImageForm.cs | 215 ++++++++++++++++ ...ooseIconForm.resx => ChooseImageForm.resx} | 3 + DisplayMagician/UIForms/ShortcutForm.cs | 4 +- DisplayMagician/Utils.cs | 59 +++++ 11 files changed, 350 insertions(+), 353 deletions(-) create mode 100644 DisplayMagician/Resources/x.png delete mode 100644 DisplayMagician/UIForms/ChooseIconForm.cs rename DisplayMagician/UIForms/{ChooseIconForm.Designer.cs => ChooseImageForm.Designer.cs} (82%) create mode 100644 DisplayMagician/UIForms/ChooseImageForm.cs rename DisplayMagician/UIForms/{ChooseIconForm.resx => ChooseImageForm.resx} (99%) create mode 100644 DisplayMagician/Utils.cs diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 2626140..704c96e 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -151,11 +151,11 @@ LoadingForm.cs - + Form - - ChooseIconForm.cs + + ChooseImageForm.cs Form @@ -195,6 +195,7 @@ StartProgramControl.cs + @@ -235,8 +236,8 @@ MainForm.cs Designer - - ChooseIconForm.cs + + ChooseImageForm.cs ProfileSettingsForm.cs @@ -357,6 +358,7 @@ + diff --git a/DisplayMagician/ImageUtils.cs b/DisplayMagician/ImageUtils.cs index 2849168..739ce57 100644 --- a/DisplayMagician/ImageUtils.cs +++ b/DisplayMagician/ImageUtils.cs @@ -143,225 +143,6 @@ namespace DisplayMagician return newBitmap; } - public static Bitmap GetMeABitmapFromFile(string fileNameAndPath) - { - if (String.IsNullOrWhiteSpace(fileNameAndPath)) - { - logger.Warn($"ShortcutItem/GetMeABitmapFromFile: Bitmap fileNameAndPath is empty! Unable to get the icon from the file."); - return null; - } - - Icon myIcon = null; - Bitmap bm = null; - Bitmap bmToReturn = new Bitmap(1, 1); - - if (fileNameAndPath.EndsWith(".ico")) - { - - try - { - - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: The file we want to get the image from is an icon file. Attempting to extract the icon file from {fileNameAndPath}."); - - - myIcon = new Icon(fileNameAndPath, 256, 256); - //Icon myIcon = Icon.ExtractAssociatedIcon(fileNameAndPath); - bm = myIcon.ToBitmap(); - - - //myIcon = Icon.ExtractAssociatedIcon(fileNameAndPath); - //bm = myIcon.ToBitmap(); - - if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the icon file {fileNameAndPath} using standard Icon access method is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - else - { - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the icon file {fileNameAndPath} using standard Icon access method is smaller or the same size as the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from a *.ico using Standard Icon tools."); - } - - try - { - MultiIcon myMultiIcon = new MultiIcon(); - SingleIcon mySingleIcon = myMultiIcon.Add("Icon1"); - //mySingleIcon.Load(fileNameAndPath, IconOutputFormat.All); - mySingleIcon.Load(fileNameAndPath); - - foreach (IconImage myIconImage in mySingleIcon) - { - bm = myIconImage.Image; - - if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the icon file {fileNameAndPath} using MultiIcon access method is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - else - { - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the icon file {fileNameAndPath} using MultiIcon access method is smaller or the same size as the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - } - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from a *.ico using MultiIcon tools."); - } - } - else - { - - /*try - { - List myIcons = ImageUtils.ExtractIconsFromExe(fileNameAndPath, true); - if (myIcons != null && myIcons.Count > 0) - { - foreach (Icon myExtractedIcon in myIcons) - { - bm = myExtractedIcon.ToBitmap(); - - if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: This new bitmap from the icon file {fileNameAndPath} is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - } - } - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from an *.exe or *.dll using ImageUtils.ExtractIconsFromExe."); - }*/ - - try - { - var ie = new TsudaKageyu.IconExtractor(fileNameAndPath); - Icon[] allIcons = ie.GetAllIcons(); - foreach (Icon myExtractedIcon in allIcons) - { - bm = myExtractedIcon.ToBitmap(); - - if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the exe file {fileNameAndPath} using TsudaKageyu.IconExtractor access method is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - else - { - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the exe file {fileNameAndPath} using TsudaKageyu.IconExtractor access method is smaller or the same size as the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - } - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the icon from an *.exe or *.dll using TsudaKageyu.IconExtractor."); - } - - } - - try - { - - List myExtractedIcons = MintPlayer.IconUtils.IconExtractor.Split(fileNameAndPath); - Size largeSize = new Size(256, 256); - foreach (Icon myExtractedIcon in myExtractedIcons) - { - - try - { - myIcon = (Icon)IconUtil.TryGetIcon(myExtractedIcon, largeSize, 32, true, true); - } - catch (ArgumentNullException nullex) - { - logger.Debug(nullex, $"ShortcutItem/GetMeABitmapFromFile: There was a faulty icon image within this icon that we couldn't test, so skipping it."); - continue; - } - - if (myIcon != null) - { - bm = myIcon.ToBitmap(); - - if (bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the file {fileNameAndPath} using MintPlayer.IconUtils.IconExtractor access method is larger than the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - else - { - logger.Trace($"ShortcutItem/GetMeABitmapFromFile: New bitmap from the file {fileNameAndPath} using MintPlayer.IconUtils.IconExtractor access method is smaller or the same size as the previous one at {bm.Width} x {bm.Height}, so using that instead."); - } - } - else - { - logger.Warn($"ShortcutItem/GetMeABitmapFromFile: Couldn't extract an Icon from the file {fileNameAndPath} using MintPlayer.IconUtils.IconExtractor access method, so can't try to get the Icon using IconUtils.TryGetIcon."); - } - } - - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to Split the icon using MintPlayer IconExtractor! "); - } - - - if (bmToReturn == null) - { - // If we couldn't get any bitmaps at all - logger.Warn( $"ShortcutItem/GetMeABitmapFromFile: Haven't managed to get a valid icon file so returning null :(."); - return null; - } - else if (bmToReturn.Width == 1 && bmToReturn.Height == 1) - { - // If we couldn't extract anything, so we return null - logger.Warn($"ShortcutItem/GetMeABitmapFromFile: Haven't managed to get a valid icon file so returning null instead of a 1x1 bitmap!."); - return null; - } - else - { - return bmToReturn; - } - - } - - public static Bitmap GetMeABitmapFromFile(ArrayList fileNamesAndPaths) - { - Bitmap bmToReturn = null; - - - if (fileNamesAndPaths.Count == 0) - { - logger.Warn($"ShortcutItem/GetMeABitmapFromFile2: The fileNamesAndPaths list is empty! Can't get the bitmap from the files."); - return null; - } - logger.Trace($"ShortcutItem/GetMeABitmapFromFile2: We have {fileNamesAndPaths.Count} files to try and extract a bitmap from."); - foreach (string fileNameAndPath in fileNamesAndPaths) - { - logger.Trace($"ShortcutItem/GetMeABitmapFromFile2: Getting a bitmap from {fileNameAndPath} by running GetMeABitmapFromFile."); - Bitmap bm = GetMeABitmapFromFile(fileNameAndPath); - - if (bmToReturn == null) - { - bmToReturn = bm; - } - if (bm != null && bm.Width > bmToReturn.Width && bm.Height > bmToReturn.Height) - { - bmToReturn = bm; - } - logger.Trace($"ShortcutItem/GetMeABitmapFromFile2: The biggest bitmap we could get from {fileNameAndPath} was {bm.Width}x{bm.Height}."); - } - - // Now we check if the icon is still too small. - logger.Trace($"ShortcutItem/GetMeABitmapFromFile2: The biggest bitmap we could get from the {fileNamesAndPaths.Count} files was {bmToReturn.Width}x{bmToReturn.Height}."); - return bmToReturn; - - } - public static List GetMeAllBitmapsFromFile(string fileNameAndPath) { if (String.IsNullOrWhiteSpace(fileNameAndPath)) @@ -375,7 +156,27 @@ namespace DisplayMagician int bmCount = 0; string fileNameOnly = Path.GetFileName(fileNameAndPath); - if (fileNameAndPath.EndsWith(".ico")) + if (fileNameAndPath.EndsWith(".jpg") || fileNameAndPath.EndsWith(".gif") || fileNameAndPath.EndsWith(".tif") || fileNameAndPath.EndsWith(".png") || fileNameAndPath.EndsWith(".bmp") || + fileNameAndPath.EndsWith(".jpeg") || fileNameAndPath.EndsWith(".tiff")) + { + + try + { + + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: The file we want to get the image from is an image file. Attempting to extract the image from {fileNameAndPath}."); + + Bitmap bmap = new Bitmap(fileNameAndPath); + ShortcutBitmap bm = CreateShortcutBitmap(bmap, fileNameOnly, fileNameAndPath, bmCount++); + // Add the shortcutbitmap to the list + bmList.Add(bm); + logger.Trace($"ShortcutItem/GetMeABitmapFromFile: Added new bitmap from the image file {fileNameAndPath} using standard bitmap decoder access method."); + } + catch (Exception ex) + { + logger.Warn(ex, $"ShortcutItem/GetMeABitmapFromFile: Exception while trying to extract the bitmap from an image ({fileNameAndPath})using standard bitmap decoder tools."); + } + } + else if (fileNameAndPath.EndsWith(".ico")) { try diff --git a/DisplayMagician/Program.cs b/DisplayMagician/Program.cs index 1c2cf6b..b0a18b9 100644 --- a/DisplayMagician/Program.cs +++ b/DisplayMagician/Program.cs @@ -37,6 +37,7 @@ namespace DisplayMagician { public static string AppSteamIconFilename = Path.Combine(AppIconPath, @"Steam.ico"); public static string AppUplayIconFilename = Path.Combine(AppIconPath, @"Uplay.ico"); public static string AppEpicIconFilename = Path.Combine(AppIconPath, @"Epic.ico"); + public static string AppDownloadsPath = Utils.GetDownloadsPath(); public static bool AppToastActivated = false; public static bool WaitingForGameToExit = false; public static ProgramSettings AppProgramSettings; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 36c1863..06704a1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.145")] -[assembly: AssemblyFileVersion("2.1.0.145")] +[assembly: AssemblyVersion("2.1.0.157")] +[assembly: AssemblyFileVersion("2.1.0.157")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/Resources/x.png b/DisplayMagician/Resources/x.png new file mode 100644 index 0000000000000000000000000000000000000000..0f88813d12228a792fb6c6f344e519a3399f8888 GIT binary patch literal 9496 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 AvailableImages - { - get; - set; - } - - public ShortcutBitmap SelectedImage - { - get; - set; - } - - private void btn_back_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - this.Close(); - } - - private void ChooseIconForm_Load(object sender, EventArgs e) - { - if (AvailableImages.Count > 0) - { - bool alreadySelected = false; - // Load all the images into the list - int imageCount = 1; - foreach (ShortcutBitmap sc in AvailableImages) - { - string[] stringsToAdd = new string[] { - $"Image {sc.Order} from {sc.Name}", - $"{sc.Size.Width} x {sc.Size.Height}" - }; - ListViewItem lvi = new ListViewItem(stringsToAdd); - lvi.Name = sc.UUID; - if (sc.Equals(SelectedImage)) - { - lvi.Selected = true; - pb_selected_icon.Image = SelectedImage.Image; - _selectedImage = sc; - } - lv_icons.Items.Add(lvi); - } - - // Select the first largest image listed if there isn't one already - if (lv_icons.SelectedItems.Count == 0) - { - lv_icons.Items[0].Selected = true; - pb_selected_icon.Image = AvailableImages[0].Image; - _selectedImage = AvailableImages[0]; - } - - - - } - } - - private void btn_select_Click(object sender, EventArgs e) - { - SelectedImage = _selectedImage; - DialogResult = DialogResult.OK; - this.Close(); - } - - private void lv_icons_SelectedIndexChanged(object sender, EventArgs e) - { - if (lv_icons.SelectedItems.Count > 0) - { - string uuidToFind = lv_icons.SelectedItems[0].Name; - foreach (ShortcutBitmap sc in AvailableImages) - { - if (sc.UUID.Equals(uuidToFind)) - { - pb_selected_icon.Image = sc.Image; - _selectedImage = sc; - break; - } - } - } - } - - private void btn_add_Click(object sender, EventArgs e) - { - - } - } -} diff --git a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs b/DisplayMagician/UIForms/ChooseImageForm.Designer.cs similarity index 82% rename from DisplayMagician/UIForms/ChooseIconForm.Designer.cs rename to DisplayMagician/UIForms/ChooseImageForm.Designer.cs index c10bbc1..84bf454 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.Designer.cs +++ b/DisplayMagician/UIForms/ChooseImageForm.Designer.cs @@ -1,7 +1,7 @@  namespace DisplayMagician.UIForms { - partial class ChooseIconForm + partial class ChooseImageForm { /// /// Required designer variable. @@ -29,16 +29,18 @@ namespace DisplayMagician.UIForms /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChooseIconForm)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChooseImageForm)); this.lv_icons = new System.Windows.Forms.ListView(); this.columnHeaderName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeaderSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.pb_selected_icon = new System.Windows.Forms.PictureBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.btn_add = new System.Windows.Forms.Button(); this.btn_select = new System.Windows.Forms.Button(); this.btn_back = new System.Windows.Forms.Button(); - this.columnHeaderSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.dialog_open = new System.Windows.Forms.OpenFileDialog(); + this.btn_remove = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pb_selected_icon)).BeginInit(); this.SuspendLayout(); // @@ -64,6 +66,11 @@ namespace DisplayMagician.UIForms this.columnHeaderName.Text = "Name"; this.columnHeaderName.Width = 270; // + // columnHeaderSize + // + this.columnHeaderSize.Text = "Size"; + this.columnHeaderSize.Width = 70; + // // pb_selected_icon // this.pb_selected_icon.BackColor = System.Drawing.Color.DimGray; @@ -82,9 +89,9 @@ namespace DisplayMagician.UIForms this.label1.ForeColor = System.Drawing.Color.White; this.label1.Location = new System.Drawing.Point(139, 21); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(125, 16); + this.label1.Size = new System.Drawing.Size(138, 16); this.label1.TabIndex = 2; - this.label1.Text = "Choose icon to use:"; + this.label1.Text = "Choose image to use:"; this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // label2 @@ -95,9 +102,9 @@ namespace DisplayMagician.UIForms this.label2.ForeColor = System.Drawing.Color.White; this.label2.Location = new System.Drawing.Point(457, 21); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(93, 16); + this.label2.Size = new System.Drawing.Size(106, 16); this.label2.TabIndex = 3; - this.label2.Text = "Selected icon:"; + this.label2.Text = "Selected image:"; this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // btn_add @@ -107,9 +114,9 @@ namespace DisplayMagician.UIForms this.btn_add.ForeColor = System.Drawing.Color.White; this.btn_add.Location = new System.Drawing.Point(26, 261); this.btn_add.Name = "btn_add"; - this.btn_add.Size = new System.Drawing.Size(77, 30); + this.btn_add.Size = new System.Drawing.Size(86, 30); this.btn_add.TabIndex = 39; - this.btn_add.Text = "Add icons"; + this.btn_add.Text = "Add images"; this.btn_add.UseVisualStyleBackColor = true; this.btn_add.Click += new System.EventHandler(this.btn_add_Click); // @@ -118,11 +125,11 @@ namespace DisplayMagician.UIForms this.btn_select.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_select.ForeColor = System.Drawing.Color.White; - this.btn_select.Location = new System.Drawing.Point(218, 261); + this.btn_select.Location = new System.Drawing.Point(305, 261); this.btn_select.Name = "btn_select"; - this.btn_select.Size = new System.Drawing.Size(176, 30); + this.btn_select.Size = new System.Drawing.Size(178, 30); this.btn_select.TabIndex = 40; - this.btn_select.Text = "Save and use selected icon"; + this.btn_select.Text = "Save and use selected image"; this.btn_select.UseVisualStyleBackColor = true; this.btn_select.Click += new System.EventHandler(this.btn_select_Click); // @@ -139,17 +146,30 @@ namespace DisplayMagician.UIForms this.btn_back.UseVisualStyleBackColor = true; this.btn_back.Click += new System.EventHandler(this.btn_back_Click); // - // columnHeaderSize + // dialog_open // - this.columnHeaderSize.Text = "Size"; - this.columnHeaderSize.Width = 70; + this.dialog_open.FileName = "openFileDialog1"; // - // ChooseIconForm + // btn_remove + // + this.btn_remove.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_remove.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_remove.ForeColor = System.Drawing.Color.White; + this.btn_remove.Location = new System.Drawing.Point(153, 261); + this.btn_remove.Name = "btn_remove"; + this.btn_remove.Size = new System.Drawing.Size(113, 30); + this.btn_remove.TabIndex = 42; + this.btn_remove.Text = "Remove image"; + this.btn_remove.UseVisualStyleBackColor = true; + this.btn_remove.Click += new System.EventHandler(this.btn_remove_Click); + // + // ChooseImageForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.ClientSize = new System.Drawing.Size(629, 319); + this.Controls.Add(this.btn_remove); this.Controls.Add(this.btn_back); this.Controls.Add(this.btn_select); this.Controls.Add(this.btn_add); @@ -161,11 +181,11 @@ namespace DisplayMagician.UIForms this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; - this.Name = "ChooseIconForm"; + this.Name = "ChooseImageForm"; this.ShowIcon = false; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Choose shortcut icon"; + this.Text = "Choose shortcut image"; this.TopMost = true; this.Load += new System.EventHandler(this.ChooseIconForm_Load); ((System.ComponentModel.ISupportInitialize)(this.pb_selected_icon)).EndInit(); @@ -185,5 +205,7 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.Button btn_back; private System.Windows.Forms.ColumnHeader columnHeaderName; private System.Windows.Forms.ColumnHeader columnHeaderSize; + private System.Windows.Forms.OpenFileDialog dialog_open; + private System.Windows.Forms.Button btn_remove; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ChooseImageForm.cs b/DisplayMagician/UIForms/ChooseImageForm.cs new file mode 100644 index 0000000..554c02d --- /dev/null +++ b/DisplayMagician/UIForms/ChooseImageForm.cs @@ -0,0 +1,215 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace DisplayMagician.UIForms +{ + public partial class ChooseImageForm : Form + { + private ShortcutBitmap _selectedImage = new ShortcutBitmap(); + + public ChooseImageForm() + { + InitializeComponent(); + } + + public List AvailableImages + { + get; + set; + } + + public ShortcutBitmap SelectedImage + { + get; + set; + } + + private void btn_back_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + this.Close(); + } + + private void ChooseIconForm_Load(object sender, EventArgs e) + { + UpdateImageListBox(); + /*if (AvailableImages.Count > 0) + { + bool alreadySelected = false; + // Load all the images into the list + int imageCount = 1; + foreach (ShortcutBitmap sc in AvailableImages) + { + string[] stringsToAdd = new string[] { + $"Image {sc.Order} from {sc.Name}", + $"{sc.Size.Width} x {sc.Size.Height}" + }; + ListViewItem lvi = new ListViewItem(stringsToAdd); + lvi.Name = sc.UUID; + if (sc.Equals(SelectedImage)) + { + lvi.Selected = true; + pb_selected_icon.Image = SelectedImage.Image; + _selectedImage = sc; + } + lv_icons.Items.Add(lvi); + } + + // Select the first largest image listed if there isn't one already + if (lv_icons.SelectedItems.Count == 0) + { + lv_icons.Items[0].Selected = true; + pb_selected_icon.Image = AvailableImages[0].Image; + _selectedImage = AvailableImages[0]; + } + }*/ + } + + private void UpdateImageListBox() + { + lv_icons.Items.Clear(); + if (AvailableImages.Count > 0) + { + bool alreadySelected = false; + // Load all the images into the list + int imageCount = 1; + foreach (ShortcutBitmap sc in AvailableImages) + { + string[] stringsToAdd = new string[] { + $"Image {sc.Order} from {sc.Name}", + $"{sc.Size.Width} x {sc.Size.Height}" + }; + ListViewItem lvi = new ListViewItem(stringsToAdd); + lvi.Name = sc.UUID; + if (sc.Equals(SelectedImage)) + { + lvi.Selected = true; + pb_selected_icon.Image = SelectedImage.Image; + _selectedImage = sc; + } + lv_icons.Items.Add(lvi); + } + + // Select the first largest image listed if there isn't one already + if (lv_icons.SelectedItems.Count == 0) + { + lv_icons.Items[0].Selected = true; + pb_selected_icon.Image = AvailableImages[0].Image; + _selectedImage = AvailableImages[0]; + } + } + } + + + private void btn_select_Click(object sender, EventArgs e) + { + SelectedImage = _selectedImage; + DialogResult = DialogResult.OK; + this.Close(); + } + + private void lv_icons_SelectedIndexChanged(object sender, EventArgs e) + { + if (lv_icons.SelectedItems.Count > 0) + { + string uuidToFind = lv_icons.SelectedItems[0].Name; + foreach (ShortcutBitmap sc in AvailableImages) + { + if (sc.UUID.Equals(uuidToFind)) + { + pb_selected_icon.Image = sc.Image; + _selectedImage = sc; + break; + } + } + } + } + + private void btn_add_Click(object sender, EventArgs e) + { + dialog_open.InitialDirectory = Program.AppDownloadsPath; + dialog_open.DefaultExt = "*.exe; *.com; *.ico; *.bmp; *.jpg; *.png; *.tif; *.gif"; + dialog_open.Filter = "All exe and image files (*.exe; *.com; *.ico; *.bmp; *.jpg; *.png; *.tif; *.gif) | *.exe; *.com; *.ico; *.bmp; *.jpg; *.png; *.tif; *.gif | All files(*.*) | *.*"; + if (dialog_open.ShowDialog(this) == DialogResult.OK) + { + if (File.Exists(dialog_open.FileName)) + { + try + { + List newImages = ImageUtils.GetMeAllBitmapsFromFile(dialog_open.FileName); + if (newImages.Count == 0) + { + MessageBox.Show( + $"No new images found when parsing {dialog_open.FileName} for images. Are you sure it's a valid image format?", + "Add images to icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } + else + { + AvailableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(dialog_open.FileName)); + UpdateImageListBox(); + MessageBox.Show( + $"Added {newImages.Count} image(s) from {dialog_open.FileName} to the end of this image list.", + "Add images to icon", + MessageBoxButtons.OK, + MessageBoxIcon.Information); + + } + dialog_open.FileName = string.Empty; + } + catch(Exception ex) + { + MessageBox.Show( + $"Unable to parse {dialog_open.FileName} for images. Are you sure it's a valid image format?", + "Add images to icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + + } + } + else + { + MessageBox.Show( + $"Unable to open {dialog_open.FileName} to parse it for images. Are you sure you have the right file permissions?", + "Add images to icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } + } + } + + private void btn_remove_Click(object sender, EventArgs e) + { + if (lv_icons.SelectedItems.Count > 0) + { + string uuidToFind = lv_icons.SelectedItems[0].Name; + foreach (ShortcutBitmap sc in AvailableImages) + { + if (sc.UUID.Equals(uuidToFind)) + { + AvailableImages.Remove(sc); + pb_selected_icon.Image = null; + _selectedImage = default(ShortcutBitmap); + UpdateImageListBox(); + return; + } + } + // If we get here we didn't find anything to remove! + MessageBox.Show( + $"Unable to remove selected item from the list of images!", + "Remove image from icon", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } + } + } +} diff --git a/DisplayMagician/UIForms/ChooseIconForm.resx b/DisplayMagician/UIForms/ChooseImageForm.resx similarity index 99% rename from DisplayMagician/UIForms/ChooseIconForm.resx rename to DisplayMagician/UIForms/ChooseImageForm.resx index d05f62e..a766400 100644 --- a/DisplayMagician/UIForms/ChooseIconForm.resx +++ b/DisplayMagician/UIForms/ChooseImageForm.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 9a993ad..afa8a74 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -2734,7 +2734,7 @@ namespace DisplayMagician.UIForms { if (rb_standalone.Checked && _availableImages.Count > 0) { - ChooseIconForm exeIconForm = new ChooseIconForm(); + ChooseImageForm exeIconForm = new ChooseImageForm(); exeIconForm.AvailableImages = _availableImages; exeIconForm.SelectedImage = _selectedImage; if (exeIconForm.ShowDialog() == DialogResult.OK) @@ -2751,7 +2751,7 @@ namespace DisplayMagician.UIForms { if (rb_launcher.Checked && _shortcutToEdit.AvailableImages.Count > 0) { - ChooseIconForm gameIconForm = new ChooseIconForm(); + ChooseImageForm gameIconForm = new ChooseImageForm(); gameIconForm.AvailableImages = _availableImages; gameIconForm.SelectedImage = _selectedImage; if (gameIconForm.ShowDialog() == DialogResult.OK) diff --git a/DisplayMagician/Utils.cs b/DisplayMagician/Utils.cs new file mode 100644 index 0000000..5c2c713 --- /dev/null +++ b/DisplayMagician/Utils.cs @@ -0,0 +1,59 @@ +using System; +using System.Runtime.InteropServices; + +namespace DisplayMagician +{ + class Utils + { + // 1. Import InteropServices + + /// 2. Declare DownloadsFolder KNOWNFOLDERID + private static Guid FolderDownloads = new Guid("374DE290-123F-4565-9164-39C4925E467B"); + + /// 3. Import SHGetKnownFolderPath method + /// + /// Retrieves the full path of a known folder identified by the folder's KnownFolderID. + /// + /// A KnownFolderID that identifies the folder. + /// Flags that specify special retrieval options. This value can be + /// 0; otherwise, one or more of the KnownFolderFlag values. + /// An access token that represents a particular user. If this + /// parameter is NULL, which is the most common usage, the function requests the known + /// folder for the current user. Assigning a value of -1 indicates the Default User. + /// The default user profile is duplicated when any new user account is created. + /// Note that access to the Default User folders requires administrator privileges. + /// + /// When this method returns, contains the address of a string that + /// specifies the path of the known folder. The returned path does not include a + /// trailing backslash. + /// Returns S_OK if successful, or an error value otherwise. + [DllImport("shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHGetKnownFolderPath(ref Guid id, int flags, IntPtr token, out IntPtr path); + + /// 4. Declare method that returns the Downloads Path as string + /// + /// Returns the absolute downloads directory specified on the system. + /// + /// + public static string GetDownloadsPath() + { + if (Environment.OSVersion.Version.Major < 6) throw new NotSupportedException(); + + IntPtr pathPtr = IntPtr.Zero; + + try + { + SHGetKnownFolderPath(ref FolderDownloads, 0, IntPtr.Zero, out pathPtr); + return Marshal.PtrToStringUni(pathPtr); + } + finally + { + Marshal.FreeCoTaskMem(pathPtr); + } + } + + } + + + +} From 5f2b018725d56eb6d4ffba6d5e5df92cbf4651dc Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 16:36:39 +1300 Subject: [PATCH 087/112] Final few tweaks to shortcut image selection The ChooseImageForm list now correctly higlights and selects the selected image when it's refreshed. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/ChooseImageForm.cs | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 06704a1..ce3dbfc 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.157")] -[assembly: AssemblyFileVersion("2.1.0.157")] +[assembly: AssemblyVersion("2.1.0.159")] +[assembly: AssemblyFileVersion("2.1.0.159")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ChooseImageForm.cs b/DisplayMagician/UIForms/ChooseImageForm.cs index 554c02d..7155557 100644 --- a/DisplayMagician/UIForms/ChooseImageForm.cs +++ b/DisplayMagician/UIForms/ChooseImageForm.cs @@ -78,9 +78,6 @@ namespace DisplayMagician.UIForms lv_icons.Items.Clear(); if (AvailableImages.Count > 0) { - bool alreadySelected = false; - // Load all the images into the list - int imageCount = 1; foreach (ShortcutBitmap sc in AvailableImages) { string[] stringsToAdd = new string[] { @@ -89,9 +86,11 @@ namespace DisplayMagician.UIForms }; ListViewItem lvi = new ListViewItem(stringsToAdd); lvi.Name = sc.UUID; - if (sc.Equals(SelectedImage)) + if (ImageUtils.ImagesAreEqual(sc.Image,SelectedImage.Image)) { lvi.Selected = true; + lvi.Focused = true; + lvi.EnsureVisible(); pb_selected_icon.Image = SelectedImage.Image; _selectedImage = sc; } From ed07d847502a09f1342f935a9fb43775b38c9827 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 5 Nov 2021 16:44:49 +1300 Subject: [PATCH 088/112] Trimmed some unneeded code. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- DisplayMagician/UIForms/ChooseImageForm.cs | 30 ---------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index ce3dbfc..120e6a2 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.159")] -[assembly: AssemblyFileVersion("2.1.0.159")] +[assembly: AssemblyVersion("2.1.0.160")] +[assembly: AssemblyFileVersion("2.1.0.160")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ChooseImageForm.cs b/DisplayMagician/UIForms/ChooseImageForm.cs index 7155557..d7b84e0 100644 --- a/DisplayMagician/UIForms/ChooseImageForm.cs +++ b/DisplayMagician/UIForms/ChooseImageForm.cs @@ -41,36 +41,6 @@ namespace DisplayMagician.UIForms private void ChooseIconForm_Load(object sender, EventArgs e) { UpdateImageListBox(); - /*if (AvailableImages.Count > 0) - { - bool alreadySelected = false; - // Load all the images into the list - int imageCount = 1; - foreach (ShortcutBitmap sc in AvailableImages) - { - string[] stringsToAdd = new string[] { - $"Image {sc.Order} from {sc.Name}", - $"{sc.Size.Width} x {sc.Size.Height}" - }; - ListViewItem lvi = new ListViewItem(stringsToAdd); - lvi.Name = sc.UUID; - if (sc.Equals(SelectedImage)) - { - lvi.Selected = true; - pb_selected_icon.Image = SelectedImage.Image; - _selectedImage = sc; - } - lv_icons.Items.Add(lvi); - } - - // Select the first largest image listed if there isn't one already - if (lv_icons.SelectedItems.Count == 0) - { - lv_icons.Items[0].Selected = true; - pb_selected_icon.Image = AvailableImages[0].Image; - _selectedImage = AvailableImages[0]; - } - }*/ } private void UpdateImageListBox() From 712f0333f505f321697be1728f80bb9f3060b65b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 6 Nov 2021 12:05:58 +1300 Subject: [PATCH 089/112] Added some extra UI logging --- DisplayMagician/UIForms/ChooseImageForm.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/DisplayMagician/UIForms/ChooseImageForm.cs b/DisplayMagician/UIForms/ChooseImageForm.cs index d7b84e0..f5d9f7a 100644 --- a/DisplayMagician/UIForms/ChooseImageForm.cs +++ b/DisplayMagician/UIForms/ChooseImageForm.cs @@ -14,6 +14,7 @@ namespace DisplayMagician.UIForms public partial class ChooseImageForm : Form { private ShortcutBitmap _selectedImage = new ShortcutBitmap(); + private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public ChooseImageForm() { @@ -116,6 +117,7 @@ namespace DisplayMagician.UIForms List newImages = ImageUtils.GetMeAllBitmapsFromFile(dialog_open.FileName); if (newImages.Count == 0) { + logger.Trace($"No new images found when parsing {dialog_open.FileName} for images. Are you sure it's a valid image format?"); MessageBox.Show( $"No new images found when parsing {dialog_open.FileName} for images. Are you sure it's a valid image format?", "Add images to icon", @@ -126,6 +128,7 @@ namespace DisplayMagician.UIForms { AvailableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(dialog_open.FileName)); UpdateImageListBox(); + logger.Trace($"ChooseImageForm/btn_add_Click: Added {newImages.Count} image(s) from {dialog_open.FileName} to the end of this image list."); MessageBox.Show( $"Added {newImages.Count} image(s) from {dialog_open.FileName} to the end of this image list.", "Add images to icon", @@ -137,6 +140,7 @@ namespace DisplayMagician.UIForms } catch(Exception ex) { + logger.Warn(ex, $"ChooseImageForm/btn_add_Click: Exception - unable to parse {dialog_open.FileName} for images. Are you sure it's a valid image format?"); MessageBox.Show( $"Unable to parse {dialog_open.FileName} for images. Are you sure it's a valid image format?", "Add images to icon", @@ -147,6 +151,7 @@ namespace DisplayMagician.UIForms } else { + logger.Warn($"ChooseImageForm/btn_add_Click: Unable to open {dialog_open.FileName} to parse it for images. Are you sure you have the right file permissions?"); MessageBox.Show( $"Unable to open {dialog_open.FileName} to parse it for images. Are you sure you have the right file permissions?", "Add images to icon", From a80349f31a7ca9f149436929b6fa3fa99253d5b9 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 6 Nov 2021 18:38:37 +1300 Subject: [PATCH 090/112] Initial ProcessUtils update ProcessUtils functions don't work at the moment, so I need to fix them! --- DisplayMagician/ProcessUtils.cs | 461 ++++++++++----------- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 3 +- DisplayMagician/UIForms/ShortcutForm.cs | 6 +- 4 files changed, 219 insertions(+), 255 deletions(-) diff --git a/DisplayMagician/ProcessUtils.cs b/DisplayMagician/ProcessUtils.cs index cb2fa64..22b67e8 100644 --- a/DisplayMagician/ProcessUtils.cs +++ b/DisplayMagician/ProcessUtils.cs @@ -1,253 +1,124 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Diagnostics; -using System.Linq; -using System.Management; +using System.IO; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; namespace DisplayMagician { - - [Flags] - public enum ProcessCreationFlags : uint + public class ProcessCreator { - ZERO_FLAG = 0x00000000, - CREATE_BREAKAWAY_FROM_JOB = 0x01000000, - CREATE_DEFAULT_ERROR_MODE = 0x04000000, - CREATE_NEW_CONSOLE = 0x00000010, - CREATE_NEW_PROCESS_GROUP = 0x00000200, - CREATE_NO_WINDOW = 0x08000000, - CREATE_PROTECTED_PROCESS = 0x00040000, - CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000, - CREATE_SEPARATE_WOW_VDM = 0x00001000, - CREATE_SHARED_WOW_VDM = 0x00001000, - CREATE_SUSPENDED = 0x00000004, - CREATE_UNICODE_ENVIRONMENT = 0x00000400, - DEBUG_ONLY_THIS_PROCESS = 0x00000002, - DEBUG_PROCESS = 0x00000001, - DETACHED_PROCESS = 0x00000008, - EXTENDED_STARTUPINFO_PRESENT = 0x00080000, - INHERIT_PARENT_AFFINITY = 0x00010000, - // Process creations flags - ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000, - BELOW_NORMAL_PRIORITY_CLASS = 0x00004000, - HIGH_PRIORITY_CLASS = 0x00000080, - IDLE_PRIORITY_CLASS = 0x00000040, - NORMAL_PRIORITY_CLASS = 0x00000020, - REALTIME_PRIORITY_CLASS = 0x00000100, - } + [Flags] + public enum PROCESS_CREATION_FLAGS : uint + { + ZERO_FLAG = 0x00000000, + CREATE_BREAKAWAY_FROM_JOB = 0x01000000, + CREATE_DEFAULT_ERROR_MODE = 0x04000000, + CREATE_NEW_CONSOLE = 0x00000010, + CREATE_NEW_PROCESS_GROUP = 0x00000200, + CREATE_NO_WINDOW = 0x08000000, + CREATE_PROTECTED_PROCESS = 0x00040000, + CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000, + CREATE_SEPARATE_WOW_VDM = 0x00001000, + CREATE_SHARED_WOW_VDM = 0x00001000, + CREATE_SUSPENDED = 0x00000004, + CREATE_UNICODE_ENVIRONMENT = 0x00000400, + DEBUG_ONLY_THIS_PROCESS = 0x00000002, + DEBUG_PROCESS = 0x00000001, + DETACHED_PROCESS = 0x00000008, + EXTENDED_STARTUPINFO_PRESENT = 0x00080000, + INHERIT_PARENT_AFFINITY = 0x00010000, - public struct PROCESS_INFORMATION - { - public IntPtr hProcess; - public IntPtr hThread; - public uint dwProcessId; - public uint dwThreadId; - } + // Process creations flags + ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000, + BELOW_NORMAL_PRIORITY_CLASS = 0x00004000, + HIGH_PRIORITY_CLASS = 0x00000080, + IDLE_PRIORITY_CLASS = 0x00000040, + NORMAL_PRIORITY_CLASS = 0x00000020, + REALTIME_PRIORITY_CLASS = 0x00000100, + } - public struct STARTUPINFO - { - public uint cb; - public string lpReserved; - public string lpDesktop; - public string lpTitle; - public uint dwX; - public uint dwY; - public uint dwXSize; - public uint dwYSize; - public uint dwXCountChars; - public uint dwYCountChars; - public uint dwFillAttribute; - public uint dwFlags; - public short wShowWindow; - public short cbReserved2; - public IntPtr lpReserved2; - public IntPtr hStdInput; - public IntPtr hStdOutput; - public IntPtr hStdError; - } + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct STARTUPINFOEX + { + public STARTUPINFO StartupInfo; + public IntPtr lpAttributeList; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct STARTUPINFO + { + public Int32 cb; + public string lpReserved; + public string lpDesktop; + public string lpTitle; + public Int32 dwX; + public Int32 dwY; + public Int32 dwXSize; + public Int32 dwYSize; + public Int32 dwXCountChars; + public Int32 dwYCountChars; + public Int32 dwFillAttribute; + public Int32 dwFlags; + public Int16 wShowWindow; + public Int16 cbReserved2; + public IntPtr lpReserved2; + public IntPtr hStdInput; + public IntPtr hStdOutput; + public IntPtr hStdError; + } + + [StructLayout(LayoutKind.Sequential)] + public struct PROCESS_INFORMATION + { + public IntPtr hProcess; + public IntPtr hThread; + public int dwProcessId; + public int dwThreadId; + } + + [StructLayout(LayoutKind.Sequential)] + public struct SECURITY_ATTRIBUTES + { + public int nLength; + public IntPtr lpSecurityDescriptor; + public int bInheritHandle; + } - public static class NativeMethods - { - [DllImport("kernel32.dll")] - public static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, - bool bInheritHandles, ProcessCreationFlags dwCreationFlags, IntPtr lpEnvironment, - string lpCurrentDirectory, ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); [DllImport("kernel32.dll")] - public static extern uint ResumeThread(IntPtr hThread); + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool CreateProcess( + string lpApplicationName, string lpCommandLine, ref SECURITY_ATTRIBUTES lpProcessAttributes, + ref SECURITY_ATTRIBUTES lpThreadAttributes, bool bInheritHandles, PROCESS_CREATION_FLAGS dwCreationFlags, + IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFOEX lpStartupInfo, + out PROCESS_INFORMATION lpProcessInformation); - [DllImport("kernel32.dll")] - public static extern uint SuspendThread(IntPtr hThread); - } + [DllImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool UpdateProcThreadAttribute( + IntPtr lpAttributeList, uint dwFlags, IntPtr Attribute, IntPtr lpValue, + IntPtr cbSize, IntPtr lpPreviousValue, IntPtr lpReturnSize); - class ProcessInfo : IComparable - { - public Process TheProcess; - public ProcessInfo Parent; - public List Children = new List(); + [DllImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool InitializeProcThreadAttributeList( + IntPtr lpAttributeList, int dwAttributeCount, int dwFlags, ref IntPtr lpSize); - public ProcessInfo(Process the_process) - { - TheProcess = the_process; - } + [DllImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool DeleteProcThreadAttributeList(IntPtr lpAttributeList); - public override string ToString() - { - return string.Format("{0} [{1}]", - TheProcess.ProcessName, TheProcess.Id); - } + [DllImport("kernel32.dll", SetLastError = true)] + private static extern bool CloseHandle(IntPtr hObject); - public int CompareTo(ProcessInfo other) - { - return TheProcess.ProcessName.CompareTo( - other.TheProcess.ProcessName); - } - } + [DllImport("kernel32.dll", SetLastError = true)] + private static extern uint ResumeThread(IntPtr hThread); - static class ProcessUtils - { - private static Dictionary allProcessInfosDict; - private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - private static IntPtr ThreadHandle = IntPtr.Zero; + [DllImport("kernel32.dll", SetLastError = true)] + private static extern uint SuspendThread(IntPtr hThread); - public static void Initialise() - { - allProcessInfosDict = new Dictionary(); - - try - { - // Get the parent/child info. - ManagementObjectSearcher searcher = new ManagementObjectSearcher( - "SELECT ProcessId, ParentProcessId FROM Win32_Process"); - ManagementObjectCollection collection = searcher.Get(); - - // Get the processes. - foreach (Process process in Process.GetProcesses()) - { - allProcessInfosDict.Add(process.Id, new ProcessInfo(process)); - } - - // Create the child lists. - foreach (var item in collection) - { - // Find the parent and child in the dictionary. - int child_id = Convert.ToInt32(item["ProcessId"]); - int parent_id = Convert.ToInt32(item["ParentProcessId"]); - - ProcessInfo child_info = null; - ProcessInfo parent_info = null; - if (allProcessInfosDict.ContainsKey(child_id)) - child_info = allProcessInfosDict[child_id]; - if (allProcessInfosDict.ContainsKey(parent_id)) - parent_info = allProcessInfosDict[parent_id]; - - if (child_info == null) - Console.WriteLine( - "Cannot find child " + child_id.ToString() + - " for parent " + parent_id.ToString()); - - if (parent_info == null) - Console.WriteLine( - "Cannot find parent " + parent_id.ToString() + - " for child " + child_id.ToString()); - - if ((child_info != null) && (parent_info != null)) - { - parent_info.Children.Add(child_info); - child_info.Parent = parent_info; - } - } - - } - catch(Exception ex) - { - logger.Error(ex,$"ProcessUtils/Initialise: Exception (re)initialising the process information to figure out process hierarchy"); - } - - } - - public static List FindChildProcesses(Process parentProcess) - { - List childProcesses = new List() { }; - - try - { - int parentId = parentProcess.Id; - // TODO: We *possibly* could walk the tree to find the program hierarchy, to get the full list of the - // process tree, but this seems like the best way at this stage. I'm expecting I'll find an edge case in the future - // that requires some sort of modification, but this is working well in 2 days of testing so far! - if (allProcessInfosDict.ContainsKey(parentId)) - { - foreach (ProcessInfo childProcess in allProcessInfosDict[parentId].Children) - { - childProcesses.Add(childProcess.TheProcess); - } - - } - } - catch (Exception ex) - { - logger.Error(ex, $"ProcessUtils/FindChildProcesses: Exception finding the child processes of the parentProcess"); - } - - return childProcesses; - } - - public static bool StopProcess(Process processToStop) - { - try - { - // Stop the process - processToStop.CloseMainWindow(); - if (!processToStop.WaitForExit(5000)) - { - logger.Trace($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} wouldn't stop cleanly. Forcing program close."); - processToStop.Kill(); - if (!processToStop.WaitForExit(5000)) - { - logger.Error($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} couldn't be killed! It seems like something is actively preventing us from stopping the process"); - return false; - } - logger.Trace($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} was successfully killed."); - } - processToStop.Close(); - return true; - } - catch (Win32Exception ex) - { - logger.Warn(ex, $"ProcessUtils/StopProcess: Win32Exception! Couldn't access the wait status for a named process we're trying to stop. So now just killing the process."); - processToStop.Kill(); - if (!processToStop.WaitForExit(5000)) - { - logger.Error($"ProcessUtils/StopProcess: Win32Exception! Process {processToStop.StartInfo.FileName} couldn't be killed! It seems like something is actively preventing us from stopping the process"); - return false; - } - logger.Trace($"ProcessUtils/StopProcess: Win32Exception! Process {processToStop.StartInfo.FileName} was successfully killed."); - processToStop.Close(); - return true; - } - catch (InvalidOperationException ex) - { - logger.Error(ex, $"ProcessUtils/StopProcess: Couldn't kill the named process as the process appears to have closed already."); - } - catch (SystemException ex) - { - logger.Error(ex, $"ProcessUtils/StopProcess: Couldn't WaitForExit the named process as there is no process associated with the Process object (or cannot get the ID from the named process handle)."); - } - - catch (AggregateException ae) - { - logger.Error(ae, $"ProcessUtils/StopProcess: Got an AggregateException."); - } - return false; - } - - public static ProcessPriorityClass TranslatePriorityToClass(ProcessPriority processPriorityClass) + public static ProcessPriorityClass TranslatePriorityToClass(ProcessPriority processPriorityClass) { ProcessPriorityClass wantedPriorityClass = ProcessPriorityClass.Normal; switch (processPriorityClass) @@ -274,49 +145,137 @@ namespace DisplayMagician return wantedPriorityClass; } - public static ProcessCreationFlags TranslatePriorityClassToFlags(ProcessPriorityClass processPriorityClass) + public static PROCESS_CREATION_FLAGS TranslatePriorityClassToFlags(ProcessPriorityClass processPriorityClass) { - ProcessCreationFlags wantedPriorityClass = ProcessCreationFlags.NORMAL_PRIORITY_CLASS; + PROCESS_CREATION_FLAGS wantedPriorityClass = PROCESS_CREATION_FLAGS.NORMAL_PRIORITY_CLASS; switch (processPriorityClass) { case ProcessPriorityClass.High: - wantedPriorityClass = ProcessCreationFlags.HIGH_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.HIGH_PRIORITY_CLASS; break; case ProcessPriorityClass.AboveNormal: - wantedPriorityClass = ProcessCreationFlags.ABOVE_NORMAL_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.ABOVE_NORMAL_PRIORITY_CLASS; break; case ProcessPriorityClass.Normal: - wantedPriorityClass = ProcessCreationFlags.NORMAL_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.NORMAL_PRIORITY_CLASS; break; case ProcessPriorityClass.BelowNormal: - wantedPriorityClass = ProcessCreationFlags.BELOW_NORMAL_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.BELOW_NORMAL_PRIORITY_CLASS; break; case ProcessPriorityClass.Idle: - wantedPriorityClass = ProcessCreationFlags.IDLE_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.IDLE_PRIORITY_CLASS; break; default: - wantedPriorityClass = ProcessCreationFlags.NORMAL_PRIORITY_CLASS; + wantedPriorityClass = PROCESS_CREATION_FLAGS.NORMAL_PRIORITY_CLASS; break; } return wantedPriorityClass; } - public static bool LaunchProcessWithPriority(string exeName, string cmdLine, ProcessPriorityClass priorityClass, out uint PID) + public static bool CreateProcessWithPriority(string exeName, string cmdLine, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) { - ProcessCreationFlags processFlags = TranslatePriorityClassToFlags(priorityClass); + PROCESS_CREATION_FLAGS processFlags = TranslatePriorityClassToFlags(priorityClass) | PROCESS_CREATION_FLAGS.CREATE_SUSPENDED; + bool success = false; + PROCESS_INFORMATION pInfo = new PROCESS_INFORMATION(); + var pSec = new SECURITY_ATTRIBUTES(); + var tSec = new SECURITY_ATTRIBUTES(); + pSec.nLength = Marshal.SizeOf(pSec); + tSec.nLength = Marshal.SizeOf(tSec); + var sInfoEx = new STARTUPINFOEX(); + sInfoEx.StartupInfo.cb = Marshal.SizeOf(sInfoEx); + try + { + success = CreateProcess(exeName, cmdLine, ref pSec, ref tSec, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); + } + catch (Exception ex) + { + // This is + } + processInfo = pInfo; - STARTUPINFO si = new STARTUPINFO(); - PROCESS_INFORMATION pi = new PROCESS_INFORMATION(); - bool success = NativeMethods.CreateProcess(exeName, cmdLine, IntPtr.Zero, IntPtr.Zero, false, processFlags, IntPtr.Zero, null, ref si, out pi); - ThreadHandle = pi.hThread; - PID = pi.dwProcessId; - - return success; + return true; } - public static void ResumeProcess() + public static void ResumeProcess(IntPtr threadHandle) { - NativeMethods.ResumeThread(ThreadHandle); + ResumeThread(threadHandle); } - } -} + + public static bool CreateProcessWithParent(int parentProcessId) + { + const int PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000; + + var pInfo = new PROCESS_INFORMATION(); + var sInfoEx = new STARTUPINFOEX(); + sInfoEx.StartupInfo.cb = Marshal.SizeOf(sInfoEx); + IntPtr lpValue = IntPtr.Zero; + + try + { + if (parentProcessId > 0) + { + var lpSize = IntPtr.Zero; + var success = InitializeProcThreadAttributeList(IntPtr.Zero, 1, 0, ref lpSize); + if (success || lpSize == IntPtr.Zero) + { + return false; + } + + sInfoEx.lpAttributeList = Marshal.AllocHGlobal(lpSize); + success = InitializeProcThreadAttributeList(sInfoEx.lpAttributeList, 1, 0, ref lpSize); + if (!success) + { + return false; + } + + var parentHandle = Process.GetProcessById(parentProcessId).Handle; + // This value should persist until the attribute list is destroyed using the DeleteProcThreadAttributeList function + lpValue = Marshal.AllocHGlobal(IntPtr.Size); + Marshal.WriteIntPtr(lpValue, parentHandle); + + success = UpdateProcThreadAttribute( + sInfoEx.lpAttributeList, + 0, + (IntPtr)PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, + lpValue, + (IntPtr)IntPtr.Size, + IntPtr.Zero, + IntPtr.Zero); + if (!success) + { + return false; + } + } + + var pSec = new SECURITY_ATTRIBUTES(); + var tSec = new SECURITY_ATTRIBUTES(); + pSec.nLength = Marshal.SizeOf(pSec); + tSec.nLength = Marshal.SizeOf(tSec); + var lpApplicationName = Path.Combine(Environment.SystemDirectory, "notepad.exe"); + return CreateProcess(lpApplicationName, null, ref pSec, ref tSec, false, PROCESS_CREATION_FLAGS.EXTENDED_STARTUPINFO_PRESENT, IntPtr.Zero, null, ref sInfoEx, out pInfo); + } + finally + { + // Free the attribute list + if (sInfoEx.lpAttributeList != IntPtr.Zero) + { + DeleteProcThreadAttributeList(sInfoEx.lpAttributeList); + Marshal.FreeHGlobal(sInfoEx.lpAttributeList); + } + Marshal.FreeHGlobal(lpValue); + + // Close process and thread handles + if (pInfo.hProcess != IntPtr.Zero) + { + CloseHandle(pInfo.hProcess); + } + if (pInfo.hThread != IntPtr.Zero) + { + CloseHandle(pInfo.hThread); + } + } + } + + } +} + diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 120e6a2..23eaf15 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.160")] -[assembly: AssemblyFileVersion("2.1.0.160")] +[assembly: AssemblyVersion("2.1.0.164")] +[assembly: AssemblyFileVersion("2.1.0.164")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index a38581d..b392aab 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -895,6 +895,7 @@ namespace DisplayMagician Process process = null; try { + ProcessUtils.ScanProcesses(); uint processID = 0; if (ProcessUtils.LaunchProcessWithPriority(processToStart.Executable, processToStart.Arguments, ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority), out processID)) { @@ -1810,7 +1811,7 @@ namespace DisplayMagician logger.Debug($"ShortcutRepository/RunShortcut: We started {startProgramsToStart.Count} programs before the main executable or game, and now we want to stop {startProgramsToStop.Count } of them"); // Prepare the processInfos we need for finding child processes. - ProcessUtils.Initialise(); + ProcessUtils.ScanProcesses(); // Stop the programs in the reverse order we started them foreach (Process processToStop in startProgramsToStop.Reverse()) diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index afa8a74..b7e3b8c 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -1375,7 +1375,11 @@ namespace DisplayMagician.UIForms txt_alternative_executable.Text = _shortcutToEdit.DifferentExecutableToMonitor; // Set the shortcut name - txt_shortcut_save_name.Text = _shortcutToEdit.Name; + if (_editingExistingShortcut) + { + txt_shortcut_save_name.Text = _shortcutToEdit.Name; + } + // Set the selected image and available images (originalBitmap is set during shortcut update) From c06ba48923ffa0ebd792f43fe1c0b602cfa4721e Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 6 Nov 2021 21:59:38 +1300 Subject: [PATCH 091/112] Partial fix for process start CreateProcessWithPriority doesn't always work. Need to troubleshoot why, but at least have a workaround currently. --- DisplayMagician/GameLibraries/GOGLibrary.cs | 6 +- DisplayMagician/ProcessUtils.cs | 32 ++++++-- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 89 +++++++++++++++------ 4 files changed, 97 insertions(+), 34 deletions(-) diff --git a/DisplayMagician/GameLibraries/GOGLibrary.cs b/DisplayMagician/GameLibraries/GOGLibrary.cs index 2269732..12fb8e6 100644 --- a/DisplayMagician/GameLibraries/GOGLibrary.cs +++ b/DisplayMagician/GameLibraries/GOGLibrary.cs @@ -560,10 +560,10 @@ namespace DisplayMagician.GameLibraries args += gameArguments; } Process gameProcess = null; - uint processID = 0; - if (ProcessUtils.LaunchProcessWithPriority(_gogExe, args, processPriority, out processID)) + ProcessUtils.PROCESS_INFORMATION processInfo; + if (ProcessUtils.CreateProcessWithPriority(_gogExe, args, processPriority, out processInfo)) { - gameProcess = Process.GetProcessById((int)processID); + gameProcess = Process.GetProcessById(processInfo.dwProcessId); } return gameProcess; } diff --git a/DisplayMagician/ProcessUtils.cs b/DisplayMagician/ProcessUtils.cs index 22b67e8..6a09a55 100644 --- a/DisplayMagician/ProcessUtils.cs +++ b/DisplayMagician/ProcessUtils.cs @@ -2,10 +2,11 @@ using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; +using System.Threading.Tasks; namespace DisplayMagician { - public class ProcessCreator + public class ProcessUtils { [Flags] @@ -94,6 +95,14 @@ namespace DisplayMagician IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFOEX lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); + [DllImport("kernel32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool CreateProcess( + string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, + IntPtr lpThreadAttributes, bool bInheritHandles, PROCESS_CREATION_FLAGS dwCreationFlags, + IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFOEX lpStartupInfo, + out PROCESS_INFORMATION lpProcessInformation); + [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool UpdateProcThreadAttribute( @@ -174,7 +183,7 @@ namespace DisplayMagician public static bool CreateProcessWithPriority(string exeName, string cmdLine, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) { - PROCESS_CREATION_FLAGS processFlags = TranslatePriorityClassToFlags(priorityClass) | PROCESS_CREATION_FLAGS.CREATE_SUSPENDED; + PROCESS_CREATION_FLAGS processFlags = TranslatePriorityClassToFlags(priorityClass); bool success = false; PROCESS_INFORMATION pInfo = new PROCESS_INFORMATION(); var pSec = new SECURITY_ATTRIBUTES(); @@ -189,16 +198,27 @@ namespace DisplayMagician } catch (Exception ex) { - // This is + // This is a problem + } + if (!success) + { + try + { + success = CreateProcess(exeName, cmdLine, IntPtr.Zero, IntPtr.Zero, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); + } + catch (Exception ex) + { + // This is a problem too + } } processInfo = pInfo; - return true; + return success; } - public static void ResumeProcess(IntPtr threadHandle) + public static void ResumeProcess(PROCESS_INFORMATION processInfo) { - ResumeThread(threadHandle); + ResumeThread(processInfo.hThread); } public static bool CreateProcessWithParent(int parentProcessId) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 23eaf15..e4457d3 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.164")] -[assembly: AssemblyFileVersion("2.1.0.164")] +[assembly: AssemblyVersion("2.1.0.174")] +[assembly: AssemblyFileVersion("2.1.0.174")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index b392aab..3da3cfa 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -891,17 +891,42 @@ namespace DisplayMagician } // Start the executable - logger.Info($"ShortcutRepository/RunShortcut: Starting process {processToStart.Executable}"); + logger.Info($"ShortcutRepository/RunShortcut: Starting Start Program process {processToStart.Executable}"); Process process = null; try { - ProcessUtils.ScanProcesses(); - uint processID = 0; - if (ProcessUtils.LaunchProcessWithPriority(processToStart.Executable, processToStart.Arguments, ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority), out processID)) + //ProcessUtils.ScanProcesses(); + ProcessUtils.PROCESS_INFORMATION processInfo; + if (ProcessUtils.CreateProcessWithPriority(processToStart.Executable, processToStart.Arguments, ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority), out processInfo)) { - process = Process.GetProcessById((int)processID); + if (processInfo.dwProcessId > 0) + { + process = Process.GetProcessById(processInfo.dwProcessId); + } + else + { + logger.Warn($"ShortcutRepository/RunShortcut: CreateProcessWithPriority returned a process with PID 0 when trying to start process {processToStart.Executable}. This indicates that the process was not started."); + } } - + else + { + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = processToStart.Executable; + psi.Arguments = processToStart.Arguments; + psi.WorkingDirectory = Path.GetDirectoryName(processToStart.Executable); + process = Process.Start(psi); + processInfo.hProcess = process.Handle; + processInfo.dwProcessId = process.Id; + processInfo.dwThreadId = process.Threads[0].Id; + //pInfo.dwThreadId = process.Threads[0].Id; + Task.Delay(500); + if (!process.HasExited) + { + process.PriorityClass = ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority); + } + + } + /*if (processToStart.ExecutableArgumentsRequired) { process = System.Diagnostics.Process.Start(processToStart.Executable, processToStart.Arguments); @@ -922,7 +947,7 @@ namespace DisplayMagician { logger.Warn(ex, $"ShortcutRepository/RunShortcut: Exception setting the start program process priority of start program we started to {shortcutToUse.ProcessPriority.ToString("G")}"); }*/ - + // Record the program we started so we can close it later if (processToStart.CloseOnFinish) @@ -1027,18 +1052,35 @@ namespace DisplayMagician try { Process process = null; - /*if (shortcutToUse.ExecutableArgumentsRequired) + ProcessUtils.PROCESS_INFORMATION processInfo; + if (ProcessUtils.CreateProcessWithPriority(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments, ProcessUtils.TranslatePriorityToClass(shortcutToUse.ProcessPriority), out processInfo)) { - process = System.Diagnostics.Process.Start(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments); + process = Process.GetProcessById(processInfo.dwProcessId); + Task.Delay(500); + if (process != null) + { + if (process.HasExited) + { + // Then we need to find what processes are running now with a parent of processInfo.process + logger.Error($"ShortcutRepository/RunShortcut: Main executable process {shortcutToUse.ExecutableNameAndPath} has exited after a short delay. It is likely to be a launcher process. We're going to look for it's children."); + } + } + else + { + logger.Error($"ShortcutRepository/RunShortcut: Main executable process {shortcutToUse.ExecutableNameAndPath} didn't start for some reason. Process still = null."); + } } else { - process = System.Diagnostics.Process.Start(shortcutToUse.ExecutableNameAndPath); - }*/ - uint processID = 0; - if (ProcessUtils.LaunchProcessWithPriority(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments, ProcessUtils.TranslatePriorityToClass(shortcutToUse.ProcessPriority), out processID)) - { - process = Process.GetProcessById((int)processID); + logger.Error($"ShortcutRepository/RunShortcut: CreateProcessWithPriority couldn't create Main executable process {shortcutToUse.ExecutableNameAndPath}. Going to try to start it the old way without priority."); + if (shortcutToUse.ExecutableArgumentsRequired) + { + process = Process.Start(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments); + } + else + { + process = Process.Start(shortcutToUse.ExecutableNameAndPath); + } } } @@ -1811,7 +1853,7 @@ namespace DisplayMagician logger.Debug($"ShortcutRepository/RunShortcut: We started {startProgramsToStart.Count} programs before the main executable or game, and now we want to stop {startProgramsToStop.Count } of them"); // Prepare the processInfos we need for finding child processes. - ProcessUtils.ScanProcesses(); + //ProcessUtils.ScanProcesses(); // Stop the programs in the reverse order we started them foreach (Process processToStop in startProgramsToStop.Reverse()) @@ -1823,11 +1865,11 @@ namespace DisplayMagician if (!processToStop.HasExited) { logger.Debug($"ShortcutRepository/RunShortcut: Stopping process {processToStop.StartInfo.FileName}"); - if (ProcessUtils.StopProcess(processToStop)) + /*if (ProcessUtils.StopProcess(processToStop)) { logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); stoppedMainProcess = true; - } + }*/ } } catch (Exception ex) @@ -1838,7 +1880,7 @@ namespace DisplayMagician // Next, check whether it had any other processes it started itself // (copes with loader processes that perform the initial start, then run the main exe) // If so, we need to go through and find and close all subprocesses - try + /*try { List childProcesses = ProcessUtils.FindChildProcesses(processToStop); if (childProcesses.Count > 0) @@ -1863,7 +1905,7 @@ namespace DisplayMagician catch (Exception ex) { logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has any child processes"); - } + }*/ // if the only main process has already exited (e.g. the user exited it themselves) // then we try to stop any processes with the same name as the application we started @@ -1879,11 +1921,11 @@ namespace DisplayMagician // If we have found one or more processes then we should be good to go if (namedProcessesToStop.Count > 0) { - logger.Warn($"ShortcutRepository/RunShortcut: We couldn't find any children processes so we've looked for named processes with the name '{processToStop.StartInfo.FileName}' and we found {namedProcessesToStop.Count}. Closing them."); + /*logger.Warn($"ShortcutRepository/RunShortcut: We couldn't find any children processes so we've looked for named processes with the name '{processToStop.StartInfo.FileName}' and we found {namedProcessesToStop.Count}. Closing them."); foreach (Process namedProcessToStop in namedProcessesToStop) { ProcessUtils.StopProcess(namedProcessToStop); - } + }*/ } else { @@ -2001,7 +2043,8 @@ namespace DisplayMagician uint processID = 0; try { - if (ProcessUtils.LaunchProcessWithPriority(stopProg.Executable, stopProg.Arguments, ProcessUtils.TranslatePriorityToClass(stopProg.ProcessPriority), out processID)) + ProcessUtils.PROCESS_INFORMATION processInfo; + if (ProcessUtils.CreateProcessWithPriority(stopProg.Executable, stopProg.Arguments, ProcessUtils.TranslatePriorityToClass(stopProg.ProcessPriority), out processInfo)) { logger.Trace($"ShortcutRepository/RunShortcut: Successfully started Stop Program {stopProg.Executable} {stopProg.Arguments}"); } From 10506a65374cd32d68638b7d3a304c1690a39dc5 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 7 Nov 2021 11:04:53 +1300 Subject: [PATCH 092/112] First partially working process launching/monitoring update --- DisplayMagician/GameLibraries/EpicLibrary.cs | 13 +- DisplayMagician/GameLibraries/GOGLibrary.cs | 13 +- DisplayMagician/GameLibraries/GameLibrary.cs | 2 +- .../GameLibraries/OriginLibrary.cs | 13 +- DisplayMagician/GameLibraries/SteamLibrary.cs | 8 +- DisplayMagician/GameLibraries/UplayLibrary.cs | 17 +- DisplayMagician/ProcessUtils.cs | 266 +++++++++++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutRepository.cs | 395 ++++++------------ 9 files changed, 434 insertions(+), 297 deletions(-) diff --git a/DisplayMagician/GameLibraries/EpicLibrary.cs b/DisplayMagician/GameLibraries/EpicLibrary.cs index a60f3de..10ce625 100644 --- a/DisplayMagician/GameLibraries/EpicLibrary.cs +++ b/DisplayMagician/GameLibraries/EpicLibrary.cs @@ -556,7 +556,7 @@ namespace DisplayMagician.GameLibraries return true; } - public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + /*public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) { string address = $@"com.epicgames.launcher://apps/{game.Id}?action=launch&silent=true"; if (String.IsNullOrWhiteSpace(gameArguments)) @@ -566,7 +566,18 @@ namespace DisplayMagician.GameLibraries Process gameProcess = Process.Start(address); gameProcess.PriorityClass = processPriority; return gameProcess; + }*/ + public override List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) + { + string address = $@"com.epicgames.launcher://apps/{game.Id}?action=launch&silent=true"; + if (!String.IsNullOrWhiteSpace(gameArguments)) + { + address += @"/" + gameArguments; + } + //Process gameProcess = Process.Start(address); + List gameProcesses = ProcessUtils.StartProcess(address, null, processPriority); + return gameProcesses; } #endregion diff --git a/DisplayMagician/GameLibraries/GOGLibrary.cs b/DisplayMagician/GameLibraries/GOGLibrary.cs index 12fb8e6..8bc8bd9 100644 --- a/DisplayMagician/GameLibraries/GOGLibrary.cs +++ b/DisplayMagician/GameLibraries/GOGLibrary.cs @@ -552,21 +552,18 @@ namespace DisplayMagician.GameLibraries } - public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + public override List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) { string args = $@"/command=runGame /gameId={game.Id} /path=""{game.Directory}"""; if (String.IsNullOrWhiteSpace(gameArguments)) { args += gameArguments; } - Process gameProcess = null; - ProcessUtils.PROCESS_INFORMATION processInfo; - if (ProcessUtils.CreateProcessWithPriority(_gogExe, args, processPriority, out processInfo)) - { - gameProcess = Process.GetProcessById(processInfo.dwProcessId); - } - return gameProcess; + List gameProcesses = ProcessUtils.StartProcess(_gogExe, args, processPriority); + return gameProcesses; } + + #endregion } diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 6de160e..9db6a81 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -108,7 +108,7 @@ namespace DisplayMagician.GameLibraries return false; } - public virtual Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + public virtual List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) { return null; } diff --git a/DisplayMagician/GameLibraries/OriginLibrary.cs b/DisplayMagician/GameLibraries/OriginLibrary.cs index 631b765..d729cff 100644 --- a/DisplayMagician/GameLibraries/OriginLibrary.cs +++ b/DisplayMagician/GameLibraries/OriginLibrary.cs @@ -725,7 +725,7 @@ namespace DisplayMagician.GameLibraries return true; } - public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + /*public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) { string address = $"origin2://game/launch?offerIds={game.Id}"; if (String.IsNullOrWhiteSpace(gameArguments)) @@ -735,6 +735,17 @@ namespace DisplayMagician.GameLibraries Process gameProcess = Process.Start(address); gameProcess.PriorityClass = processPriority; return gameProcess; + }*/ + public override List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) + { + string address = $"origin2://game/launch?offerIds={game.Id}"; + if (!String.IsNullOrWhiteSpace(gameArguments)) + { + address += @"/" + gameArguments; + } + //Process gameProcess = Process.Start(address); + List gameProcesses = ProcessUtils.StartProcess(address, null, processPriority); + return gameProcesses; } diff --git a/DisplayMagician/GameLibraries/SteamLibrary.cs b/DisplayMagician/GameLibraries/SteamLibrary.cs index 92e1d0b..45efef9 100644 --- a/DisplayMagician/GameLibraries/SteamLibrary.cs +++ b/DisplayMagician/GameLibraries/SteamLibrary.cs @@ -808,16 +808,16 @@ namespace DisplayMagician.GameLibraries } - public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + public override List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) { string address = $@"steam://rungameid/{game.Id}"; if (!String.IsNullOrWhiteSpace(gameArguments)) { address += @"//" + gameArguments; } - Process gameProcess = Process.Start(address); - gameProcess.PriorityClass = processPriority; - return gameProcess; + //Process gameProcess = Process.Start(address); + List gameProcesses = ProcessUtils.StartProcess(address,null,processPriority); + return gameProcesses; } #endregion diff --git a/DisplayMagician/GameLibraries/UplayLibrary.cs b/DisplayMagician/GameLibraries/UplayLibrary.cs index c3135d8..5be1a70 100644 --- a/DisplayMagician/GameLibraries/UplayLibrary.cs +++ b/DisplayMagician/GameLibraries/UplayLibrary.cs @@ -887,7 +887,7 @@ namespace DisplayMagician.GameLibraries return true; } - public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) + /*public override Process StartGame(Game game, string gameArguments = "", ProcessPriorityClass processPriority = ProcessPriorityClass.Normal) { string address = $@"uplay://launch/{game.Id}"; if (String.IsNullOrWhiteSpace(gameArguments)) @@ -902,6 +902,21 @@ namespace DisplayMagician.GameLibraries gameProcess.PriorityClass = processPriority; return gameProcess; + }*/ + + public override List StartGame(Game game, string gameArguments = "", ProcessPriority processPriority = ProcessPriority.Normal) + { + string address = $@"uplay://launch/{game.Id}"; + if (String.IsNullOrWhiteSpace(gameArguments)) + { + address += @"/" + gameArguments; + } + else + { + address += "/0"; + } + List gameProcesses = ProcessUtils.StartProcess(address, null, processPriority); + return gameProcesses; } #endregion diff --git a/DisplayMagician/ProcessUtils.cs b/DisplayMagician/ProcessUtils.cs index 6a09a55..a055651 100644 --- a/DisplayMagician/ProcessUtils.cs +++ b/DisplayMagician/ProcessUtils.cs @@ -1,7 +1,11 @@ using System; +using System.Collections.Generic; +using System.ComponentModel; using System.Diagnostics; using System.IO; +using System.Management; using System.Runtime.InteropServices; +using System.Threading; using System.Threading.Tasks; namespace DisplayMagician @@ -9,8 +13,10 @@ namespace DisplayMagician public class ProcessUtils { + private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + [Flags] - public enum PROCESS_CREATION_FLAGS : uint + public enum PROCESS_CREATION_FLAGS : UInt32 { ZERO_FLAG = 0x00000000, CREATE_BREAKAWAY_FROM_JOB = 0x01000000, @@ -181,6 +187,135 @@ namespace DisplayMagician return wantedPriorityClass; } + public static List StartProcess(string executable, string arguments, ProcessPriority processPriority, int startTimeout = 1) + { + List runningProcesses = new List(); + Process process = null; + PROCESS_INFORMATION processInfo; + try + { + if (CreateProcessWithPriority(executable, arguments, ProcessUtils.TranslatePriorityToClass(processPriority), out processInfo)) + { + if (processInfo.dwProcessId > 0) + { + process = Process.GetProcessById(processInfo.dwProcessId); + } + else + { + logger.Warn($"ProcessUtils/StartProcess: CreateProcessWithPriority returned a process with PID 0 when trying to start process {executable}. This indicates that the process was not started, so we'll try it a different way."); + // Start the process using built in process library + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = executable; + psi.Arguments = arguments; + psi.WorkingDirectory = Path.GetDirectoryName(executable); + process = Process.Start(psi); + processInfo.hProcess = process.Handle; + processInfo.dwProcessId = process.Id; + processInfo.dwThreadId = process.Threads[0].Id; + if (!process.HasExited) + { + // Change priority if we can (not always possible in this mode :( + try + { + // If this process is a protected process, then this will fail! + process.PriorityClass = ProcessUtils.TranslatePriorityToClass(processPriority); + } + catch (Exception ex) + { + // We would need need higher rights for this processto set the priority + // https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights + // At this stage I am not writing this, as it is a lot of work for a niche issue. + } + runningProcesses.Add(process); + } + } + } + else + { + // Start the process using built in process library + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = executable; + psi.Arguments = arguments; + psi.WorkingDirectory = Path.GetDirectoryName(executable); + process = Process.Start(psi); + processInfo.hProcess = process.Handle; + processInfo.dwProcessId = process.Id; + if (!process.HasExited) + { + processInfo.dwThreadId = process.Threads[0].Id; + // Change priority if we can (not always possible in this mode :( + try + { + // If this process is a protected process, then this will fail! + process.PriorityClass = ProcessUtils.TranslatePriorityToClass(processPriority); + } + catch(Exception ex) + { + // We would need need higher rights for this processto set the priority + // https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights + // At this stage I am not writing this, as it is a lot of work for a niche issue. + } + runningProcesses.Add(process); + } + + } + + } + catch (Exception ex) + { + if (!process.HasExited) + { + // Start the process using built in process library + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = executable; + psi.Arguments = arguments; + psi.WorkingDirectory = Path.GetDirectoryName(executable); + process = Process.Start(psi); + processInfo.hProcess = process.Handle; + processInfo.dwProcessId = process.Id; + processInfo.dwThreadId = process.Threads[0].Id; + //pInfo.dwThreadId = process.Threads[0].Id; + // Change priority + if (!process.HasExited) + { + runningProcesses.Add(process); + } + } + + } + + + // Check the launched exe hasn't exited within 2 secs + for (int secs = 0; secs <= (startTimeout * 1000); secs += 500) + { + // If we have no more processes left then we're done! + if (process.HasExited) + { + logger.Trace($"ProcessUtils/StartProcess: {executable} has exited early! It's likely to be a launcher! Trying to detect it's children."); + // As the original process has left the building, we'll overwrite it with the children processes + runningProcesses = GetChildProcesses(process); + break; + } + // Send a message to windows so that it doesn't think + // we're locked and try to kill us + System.Threading.Thread.CurrentThread.Join(0); + Thread.Sleep(500); + } + + return runningProcesses; + } + + public static List GetChildProcesses(Process process) + { + List children = new List(); + ManagementObjectSearcher mos = new ManagementObjectSearcher($"Select * From Win32_Process Where ParentProcessID={process.Id}"); + foreach (ManagementObject mo in mos.Get()) + { + children.Add(Process.GetProcessById(Convert.ToInt32(mo["ProcessID"]))); + } + return children; + } + public static bool CreateProcessWithPriority(string exeName, string cmdLine, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) { PROCESS_CREATION_FLAGS processFlags = TranslatePriorityClassToFlags(priorityClass); @@ -296,6 +431,135 @@ namespace DisplayMagician } } + public static bool ProcessExited(Process process) + { + try + { + Process processToTest = Process.GetProcessById(process.Id); + if (processToTest.HasExited) + { + logger.Trace($"ProcessUtils/ProcessExited: {process.Id} has exited and is not running. This means the process has finished!"); + return true; + } + else + { + logger.Trace($"ProcessUtils/ProcessExited: {process.Id} is still running as is has not exited yet."); + return false; + } + } + catch (ArgumentException ex) + { + logger.Trace($"ProcessUtils/ProcessExited: {process.Id} is not running, and the process ID has expired. This means the process has finished!"); + return true; + } + catch (InvalidOperationException ex) + { + logger.Warn($"ProcessUtils/ProcessExited: {process.Id} was not started by this process object. This likely means the process has finished!"); + return true; + } + catch (Exception ex) + { + logger.Trace($"ProcessUtils/ProcessExited: Exception when checking if {process.Id} is still running, so assuming the process has finished!"); + return true; + } + } + + public static bool ProcessExited(List processes) + { + int processClosedCount = 0; + foreach (Process p in processes) + { + if (ProcessExited(p)) + { + processClosedCount++; + } + } + if (processClosedCount == processes.Count) + { + logger.Trace($"ProcessUtils/ProcessExited2: All processes being monitored have exited, so no processes still running!"); + return true; + } + else + { + logger.Trace($"ProcessUtils/ProcessExited2: {processClosedCount} processes out of {processes.Count} processes have exited. At least one process is still running!"); + return false; + } + } + + public static bool StopProcess(Process processToStop) + { + try + { + // Stop the process + processToStop.CloseMainWindow(); + if (!processToStop.WaitForExit(5000)) + { + logger.Trace($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} wouldn't stop cleanly. Forcing program close."); + processToStop.Kill(); + if (!processToStop.WaitForExit(5000)) + { + logger.Error($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} couldn't be killed! It seems like something is actively preventing us from stopping the process"); + return false; + } + logger.Trace($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} was successfully killed."); + } + processToStop.Close(); + return true; + } + catch (Win32Exception ex) + { + logger.Warn(ex, $"ProcessUtils/StopProcess: Win32Exception! Couldn't access the wait status for a named process we're trying to stop. So now just killing the process."); + processToStop.Kill(); + if (!processToStop.WaitForExit(5000)) + { + logger.Error($"ProcessUtils/StopProcess: Win32Exception! Process {processToStop.StartInfo.FileName} couldn't be killed! It seems like something is actively preventing us from stopping the process"); + return false; + } + logger.Trace($"ProcessUtils/StopProcess: Win32Exception! Process {processToStop.StartInfo.FileName} was successfully killed."); + processToStop.Close(); + return true; + } + catch (InvalidOperationException ex) + { + logger.Error(ex, $"ProcessUtils/StopProcess: Couldn't kill the named process as the process appears to have closed already."); + } + catch (SystemException ex) + { + logger.Error(ex, $"ProcessUtils/StopProcess: Couldn't WaitForExit the named process as there is no process associated with the Process object (or cannot get the ID from the named process handle)."); + } + + catch (AggregateException ae) + { + logger.Error(ae, $"ProcessUtils/StopProcess: Got an AggregateException."); + } + return false; + } + + public static bool StopProcess(List processes) + { + // Stop the programs in the reverse order we started them + foreach (Process processToStop in processes) + { + // Stop the process if it hasn't stopped already + try + { + if (!processToStop.HasExited) + { + logger.Debug($"ShortcutRepository/RunShortcut: Stopping process {processToStop.StartInfo.FileName}"); + if (ProcessUtils.StopProcess(processToStop)) + { + logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); + } + } + } + catch (Exception ex) + { + logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has already exited"); + } + + } + return true; + } } } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index e4457d3..74a7823 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.174")] -[assembly: AssemblyFileVersion("2.1.0.174")] +[assembly: AssemblyVersion("2.1.0.179")] +[assembly: AssemblyFileVersion("2.1.0.179")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index 3da3cfa..a28cf90 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -892,72 +892,27 @@ namespace DisplayMagician // Start the executable logger.Info($"ShortcutRepository/RunShortcut: Starting Start Program process {processToStart.Executable}"); - Process process = null; + //Process process = null; + List processesCreated = new List(); try { - //ProcessUtils.ScanProcesses(); - ProcessUtils.PROCESS_INFORMATION processInfo; - if (ProcessUtils.CreateProcessWithPriority(processToStart.Executable, processToStart.Arguments, ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority), out processInfo)) - { - if (processInfo.dwProcessId > 0) - { - process = Process.GetProcessById(processInfo.dwProcessId); - } - else - { - logger.Warn($"ShortcutRepository/RunShortcut: CreateProcessWithPriority returned a process with PID 0 when trying to start process {processToStart.Executable}. This indicates that the process was not started."); - } - } - else - { - ProcessStartInfo psi = new ProcessStartInfo(); - psi.FileName = processToStart.Executable; - psi.Arguments = processToStart.Arguments; - psi.WorkingDirectory = Path.GetDirectoryName(processToStart.Executable); - process = Process.Start(psi); - processInfo.hProcess = process.Handle; - processInfo.dwProcessId = process.Id; - processInfo.dwThreadId = process.Threads[0].Id; - //pInfo.dwThreadId = process.Threads[0].Id; - Task.Delay(500); - if (!process.HasExited) - { - process.PriorityClass = ProcessUtils.TranslatePriorityToClass(processToStart.ProcessPriority); - } - - } - - /*if (processToStart.ExecutableArgumentsRequired) - { - process = System.Diagnostics.Process.Start(processToStart.Executable, processToStart.Arguments); - - } - else - { - process = System.Diagnostics.Process.Start(processToStart.Executable); - }*/ - - /*try - { - // Attempt to set the process priority to whatever the user wanted - logger.Trace($"ShortcutRepository/RunShortcut: Setting the start program process priority of start program we started to {shortcutToUse.ProcessPriority.ToString("G")}"); - process.PriorityClass = TranslatePriorityClass(processToStart.ProcessPriority); - } - catch (Exception ex) - { - logger.Warn(ex, $"ShortcutRepository/RunShortcut: Exception setting the start program process priority of start program we started to {shortcutToUse.ProcessPriority.ToString("G")}"); - }*/ - + processesCreated = ProcessUtils.StartProcess(processToStart.Executable, processToStart.Arguments, processToStart.ProcessPriority); // Record the program we started so we can close it later if (processToStart.CloseOnFinish) { - logger.Debug($"ShortcutRepository/RunShortcut: We need to stop {processToStart.Executable} after the main game or executable is closed."); - startProgramsToStop.Add(process); + foreach (Process p in processesCreated) + { + logger.Debug($"ShortcutRepository/RunShortcut: We need to stop {p.StartInfo.FileName} after the main game or executable is closed."); + } + startProgramsToStop.AddRange(processesCreated); } else { - logger.Debug($"ShortcutRepository/RunShortcut: No need to stop {processToStart.Executable} after the main game or executable is closed, so we'll just leave it running"); + foreach (Process p in processesCreated) + { + logger.Debug($"ShortcutRepository/RunShortcut: No need to stop {p.StartInfo.FileName} after the main game or executable is closed, so we'll just leave it running"); + } } } catch (Win32Exception ex) @@ -1043,44 +998,65 @@ namespace DisplayMagician } - // Now start the main game, and wait if we have to + // Now start the main game/exe, and wait if we have to if (shortcutToUse.Category.Equals(ShortcutCategory.Application)) { - logger.Info($"ShortcutRepository/RunShortcut: Starting the main executable that we wanted to run, and that we're going to monitor and watch"); - // Start the executable + // Store the process to monitor for later + //IPCService.GetInstance().HoldProcessId = processesToMonitor.FirstOrDefault()?.Id ?? 0; + //IPCService.GetInstance().Status = InstanceStatus.OnHold; + // Add a status notification icon in the status area + string notificationText = $"DisplayMagician: Running {shortcutToUse.ExecutableNameAndPath}..."; + if (notificationText.Length >= 64) + { + string thingToRun = shortcutToUse.ExecutableNameAndPath.Substring(0, 34); + notifyIcon.Text = $"DisplayMagician: Running {thingToRun}..."; + } + Application.DoEvents(); + + string processToMonitorName; + if (shortcutToUse.ProcessNameToMonitorUsesExecutable) + { + processToMonitorName = shortcutToUse.ExecutableNameAndPath; + } + else + { + processToMonitorName = shortcutToUse.DifferentExecutableToMonitor; + } + + logger.Debug($"ShortcutRepository/RunShortcut: Creating the Windows Toast to notify the user we're going to wait for the executable {shortcutToUse.ExecutableNameAndPath} to close."); + // Now we want to tell the user we're running an application! + // Construct the Windows toast content + ToastContentBuilder tcBuilder = new ToastContentBuilder() + .AddToastActivationInfo("notify=runningApplication", ToastActivationType.Foreground) + .AddText($"Running {shortcutToUse.ExecutableNameAndPath}", hintMaxLines: 1) + .AddText($"Waiting for all {processToMonitorName } processes to exit...") + .AddAudio(new Uri("ms-winsoundevent:Notification.Default"), false, true); + //.AddButton("Stop", ToastActivationType.Background, "notify=runningGame&action=stop"); + ToastContent toastContent = tcBuilder.Content; + // Make sure to use Windows.Data.Xml.Dom + var doc = new XmlDocument(); + doc.LoadXml(toastContent.GetContent()); + // And create the toast notification + var toast = new ToastNotification(doc); + toast.SuppressPopup = false; + // Remove any other Notifications from us + DesktopNotifications.DesktopNotificationManagerCompat.History.Clear(); + // And then show this notification + DesktopNotifications.DesktopNotificationManagerCompat.CreateToastNotifier().Show(toast); + + + logger.Info($"ShortcutRepository/RunShortcut: Starting the main executable that we wanted to run, and that we're going to monitor and watch"); + // Start the main executable + List processesCreated = new List(); try { - Process process = null; - ProcessUtils.PROCESS_INFORMATION processInfo; - if (ProcessUtils.CreateProcessWithPriority(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments, ProcessUtils.TranslatePriorityToClass(shortcutToUse.ProcessPriority), out processInfo)) + processesCreated = ProcessUtils.StartProcess(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments, shortcutToUse.ProcessPriority); + + // Record the program we started so we can close it later + foreach (Process p in processesCreated) { - process = Process.GetProcessById(processInfo.dwProcessId); - Task.Delay(500); - if (process != null) - { - if (process.HasExited) - { - // Then we need to find what processes are running now with a parent of processInfo.process - logger.Error($"ShortcutRepository/RunShortcut: Main executable process {shortcutToUse.ExecutableNameAndPath} has exited after a short delay. It is likely to be a launcher process. We're going to look for it's children."); - } - } - else - { - logger.Error($"ShortcutRepository/RunShortcut: Main executable process {shortcutToUse.ExecutableNameAndPath} didn't start for some reason. Process still = null."); - } - } - else - { - logger.Error($"ShortcutRepository/RunShortcut: CreateProcessWithPriority couldn't create Main executable process {shortcutToUse.ExecutableNameAndPath}. Going to try to start it the old way without priority."); - if (shortcutToUse.ExecutableArgumentsRequired) - { - process = Process.Start(shortcutToUse.ExecutableNameAndPath, shortcutToUse.ExecutableArguments); - } - else - { - process = Process.Start(shortcutToUse.ExecutableNameAndPath); - } + logger.Debug($"ShortcutRepository/RunShortcut: {p.StartInfo.FileName} was launched when we started the main application {shortcutToUse.ExecutableNameAndPath}."); } } @@ -1101,110 +1077,44 @@ namespace DisplayMagician logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception starting main executable process {shortcutToUse.ExecutableNameAndPath}. Method call is invalid for the current state."); } - // Figure out what we want to look for - string processNameToLookFor; + // Wait an extra few seconds to give the application time to settle down + //Thread.Sleep(2000); + + // Now we need to decide what we are monitoring. If the user has supplied an alternative process to monitor, then we monitor that instead! + bool foundSomethingToMonitor = false; + List processesToMonitor = new List(); if (shortcutToUse.ProcessNameToMonitorUsesExecutable) { - // If we are monitoring the same executable we started, then lets do get that name ready - processNameToLookFor = System.IO.Path.GetFileNameWithoutExtension(shortcutToUse.ExecutableNameAndPath); + processesToMonitor = processesCreated; + logger.Debug($"ShortcutRepository/RunShortcut: {processesToMonitor.Count} '{processToMonitorName}' created processes to monitor are running"); + foundSomethingToMonitor = true; } else { - // If we are monitoring a different executable, then lets do get that name ready instead - processNameToLookFor = System.IO.Path.GetFileNameWithoutExtension(shortcutToUse.DifferentExecutableToMonitor); - } - logger.Debug($"ShortcutRepository/RunShortcut: Looking for processes with the name {processNameToLookFor} so that we can monitor them and know when they are closed."); - - // Now look for the thing we're supposed to monitor - // and wait until it starts up - List processesToMonitor = new List(); - for (int secs = 0; secs <= (shortcutToUse.StartTimeout * 1000); secs += 500) - { - // Look for the processes with the ProcessName we sorted out earlier - processesToMonitor = Process.GetProcessesByName(processNameToLookFor).ToList(); - - // If we have found one or more processes then we should be good to go - // so let's break - if (processesToMonitor.Count > 0) + // We use the a user supplied executable as the thing we're monitoring instead! + try { - logger.Debug($"ShortcutRepository/RunShortcut: Found {processesToMonitor.Count} '{processNameToLookFor}' processes to monitor"); - - try - { - foreach (Process monitoredProcess in processesToMonitor) - { - logger.Trace($"ShortcutRepository/RunShortcut: Setting priority of monitored executable process {processNameToLookFor} to {shortcutToUse.ProcessPriority.ToString("G")}"); - monitoredProcess.PriorityClass = TranslatePriorityClassToClass(shortcutToUse.ProcessPriority); - } - } - catch(Exception ex) - { - logger.Warn(ex, $"ShortcutRepository/RunShortcut: Exception Setting priority of monitored executable process {processNameToLookFor} to {shortcutToUse.ProcessPriority.ToString("G")}"); - } - - break; + processesToMonitor.AddRange(Process.GetProcessesByName(shortcutToUse.DifferentExecutableToMonitor)); + logger.Trace($"ShortcutRepository/RunShortcut: {processesToMonitor.Count} '{shortcutToUse.DifferentExecutableToMonitor}' user specified processes to monitor are running"); + foundSomethingToMonitor = true; + } + catch (Exception ex) + { + logger.Error($"ShortcutRepository/RunShortcut: Exception while trying to find the user supplied executable to monitor: {shortcutToUse.DifferentExecutableToMonitor}."); + foundSomethingToMonitor = false; } - - // Let's wait a little while if we couldn't find - // any processes yet - Thread.Sleep(500); } - // make sure we have things to monitor and alert if not - if (processesToMonitor.Count == 0) - { - logger.Error($"ShortcutRepository/RunShortcut: No '{processNameToLookFor}' processes found before waiting timeout. DisplayMagician was unable to find any processes before the {shortcutToUse.StartTimeout} second timeout"); - } - - // Store the process to monitor for later - //IPCService.GetInstance().HoldProcessId = processesToMonitor.FirstOrDefault()?.Id ?? 0; - //IPCService.GetInstance().Status = InstanceStatus.OnHold; - - // Add a status notification icon in the status area - string notificationText = $"DisplayMagician: Running {shortcutToUse.ExecutableNameAndPath}..."; - if (notificationText.Length >= 64) - { - string thingToRun = shortcutToUse.ExecutableNameAndPath.Substring(0, 34); - notifyIcon.Text = $"DisplayMagician: Running {thingToRun}..."; - } - Application.DoEvents(); - - logger.Debug($"ShortcutRepository/RunShortcut: Creating the Windows Toast to notify the user we're going to wait for the executable {shortcutToUse.ExecutableNameAndPath} to close."); - // Now we want to tell the user we're running an application! - // Construct the Windows toast content - ToastContentBuilder tcBuilder = new ToastContentBuilder() - .AddToastActivationInfo("notify=runningApplication", ToastActivationType.Foreground) - .AddText($"Running {processNameToLookFor}", hintMaxLines: 1) - .AddText($"Waiting for all {processNameToLookFor} windows to exit...") - .AddAudio(new Uri("ms-winsoundevent:Notification.Default"),false,true); - //.AddButton("Stop", ToastActivationType.Background, "notify=runningGame&action=stop"); - ToastContent toastContent = tcBuilder.Content; - // Make sure to use Windows.Data.Xml.Dom - var doc = new XmlDocument(); - doc.LoadXml(toastContent.GetContent()); - // And create the toast notification - var toast = new ToastNotification(doc); - toast.SuppressPopup = false; - // Remove any other Notifications from us - DesktopNotifications.DesktopNotificationManagerCompat.History.Clear(); - // And then show this notification - DesktopNotifications.DesktopNotificationManagerCompat.CreateToastNotifier().Show(toast); - - // Wait an extra few seconds to give the application time to settle down - Thread.Sleep(2000); // if we have things to monitor, then we should start to wait for them - logger.Debug($"ShortcutRepository/RunShortcut: Waiting for application {processNameToLookFor} to exit."); - if (processesToMonitor.Count > 0) - { - logger.Debug($"ShortcutRepository/RunShortcut: {processesToMonitor.Count} '{processNameToLookFor}' processes are still running"); + logger.Debug($"ShortcutRepository/RunShortcut: Waiting for application {shortcutToUse.ExecutableNameAndPath} to exit."); + if (foundSomethingToMonitor && processesToMonitor.Count > 0) + { while (true) { - processesToMonitor = Process.GetProcessesByName(processNameToLookFor).ToList(); - // If we have no more processes left then we're done! - if (processesToMonitor.Count == 0) + if (ProcessUtils.ProcessExited(processesToMonitor)) { - logger.Debug($"ShortcutRepository/RunShortcut: No more '{processNameToLookFor}' processes are still running"); + logger.Debug($"ShortcutRepository/RunShortcut: No more processes to monitor are still running. It, and all it's child processes have exited!"); break; } @@ -1214,15 +1124,14 @@ namespace DisplayMagician Thread.Sleep(1000); } } - logger.Info($"ShortcutRepository/RunShortcut: Executable {processNameToLookFor} has exited."); logger.Debug($"ShortcutRepository/RunShortcut: Creating a Windows Toast to notify the user that the executable {shortcutToUse.ExecutableNameAndPath} has closed."); // Tell the user that the application has closed // Construct the toast content tcBuilder = new ToastContentBuilder() .AddToastActivationInfo("notify=stopDetected", ToastActivationType.Foreground) - .AddText($"{processNameToLookFor} was closed", hintMaxLines: 1) - .AddText($"All {processNameToLookFor} processes were shutdown and changes were reverted.") + .AddText($"{shortcutToUse.ExecutableNameAndPath} was closed", hintMaxLines: 1) + .AddText($"All {processToMonitorName} processes were shutdown and changes were reverted.") .AddAudio(new Uri("ms-winsoundevent:Notification.Default"), false, true); toastContent = tcBuilder.Content; // Make sure to use Windows.Data.Xml.Dom @@ -1279,6 +1188,25 @@ namespace DisplayMagician if (gameToRun != null) { + string processToMonitorName; + if (shortcutToUse.MonitorDifferentGameExe) + { + processToMonitorName = shortcutToUse.DifferentGameExeToMonitor; + } + else + { + processToMonitorName = gameToRun.ExePath; + } + + // Add a status notification icon in the status area + string notificationText = $"DisplayMagician: Running {gameLibraryToUse.GameLibraryName}..."; + if (notificationText.Length >= 64) + { + string thingToRun = gameLibraryToUse.GameLibraryName.Substring(0, 34); + notifyIcon.Text = $"DisplayMagician: Running {thingToRun}..."; + } + Application.DoEvents(); + // Now we want to tell the user we're start a game // Construct the Windows toast content ToastContentBuilder tcBuilder = new ToastContentBuilder() @@ -1298,10 +1226,8 @@ namespace DisplayMagician // And then show this notification DesktopNotifications.DesktopNotificationManagerCompat.CreateToastNotifier().Show(toast); - Process gameProcess; - //string gameRunCmd = gameLibraryToUse.GetRunCmd(gameToRun, shortcutToUse.GameArguments); - //gameProcess = Process.Start(gameRunCmd); - gameProcess = gameLibraryToUse.StartGame(gameToRun, shortcutToUse.GameArguments, ProcessUtils.TranslatePriorityToClass(shortcutToUse.ProcessPriority)); + List gameProcesses; + gameProcesses = gameLibraryToUse.StartGame(gameToRun, shortcutToUse.GameArguments, shortcutToUse.ProcessPriority); // Delay 500ms Thread.Sleep(500); @@ -1416,7 +1342,9 @@ namespace DisplayMagician } - string notificationText = $"DisplayMagician: Running {gameToRun.Name}..."; + // Now we actually start looking for and monitoring the game! + + notificationText = $"DisplayMagician: Running {gameToRun.Name}..."; if (notificationText.Length >= 64) { string thingToRun = gameToRun.Name.Substring(0, 34); @@ -1457,7 +1385,6 @@ namespace DisplayMagician { logger.Warn(ex, $"ShortcutRepository/RunShortcut: Setting priority of alternative game monitored process {altGameProcessToMonitor} to {shortcutToUse.ProcessPriority.ToString("G")}"); } - break; } @@ -1852,96 +1779,8 @@ namespace DisplayMagician { logger.Debug($"ShortcutRepository/RunShortcut: We started {startProgramsToStart.Count} programs before the main executable or game, and now we want to stop {startProgramsToStop.Count } of them"); - // Prepare the processInfos we need for finding child processes. - //ProcessUtils.ScanProcesses(); - - // Stop the programs in the reverse order we started them - foreach (Process processToStop in startProgramsToStop.Reverse()) - { - bool stoppedMainProcess = false; - // Stop the process if it hasn't stopped already - try - { - if (!processToStop.HasExited) - { - logger.Debug($"ShortcutRepository/RunShortcut: Stopping process {processToStop.StartInfo.FileName}"); - /*if (ProcessUtils.StopProcess(processToStop)) - { - logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); - stoppedMainProcess = true; - }*/ - } - } - catch (Exception ex) - { - logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has already exited"); - } - - // Next, check whether it had any other processes it started itself - // (copes with loader processes that perform the initial start, then run the main exe) - // If so, we need to go through and find and close all subprocesses - /*try - { - List childProcesses = ProcessUtils.FindChildProcesses(processToStop); - if (childProcesses.Count > 0) - { - foreach (Process childProcessToStop in childProcesses) - { - if (processToStop.HasExited) - { - // if there were no child processes, and the only process has already exited (e.g. the user exited it themselves) - // then stop trying to stop the process, and instead log the fact it already stopped. - Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); - logger.Warn($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} but was already stopped by user or another process."); - continue; - } - - Console.WriteLine($"Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); - logger.Debug($"ShortcutRepository/RunShortcut: Stopping child process {childProcessToStop.StartInfo.FileName} of parent process {processToStop.StartInfo.FileName}"); - ProcessUtils.StopProcess(childProcessToStop); - } - } - } - catch (Exception ex) - { - logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while checking if processToStop has any child processes"); - }*/ - - // if the only main process has already exited (e.g. the user exited it themselves) - // then we try to stop any processes with the same name as the application we started - // Look for the processes with the ProcessName we sorted out earlier - // Basically, if we haven't stopped all the children processes, then this is the last gasp - try - { - if (!stoppedMainProcess) - { - string processName = Path.GetFileNameWithoutExtension(processToStop.StartInfo.FileName); - List namedProcessesToStop = Process.GetProcessesByName(processName).ToList(); - - // If we have found one or more processes then we should be good to go - if (namedProcessesToStop.Count > 0) - { - /*logger.Warn($"ShortcutRepository/RunShortcut: We couldn't find any children processes so we've looked for named processes with the name '{processToStop.StartInfo.FileName}' and we found {namedProcessesToStop.Count}. Closing them."); - foreach (Process namedProcessToStop in namedProcessesToStop) - { - ProcessUtils.StopProcess(namedProcessToStop); - }*/ - } - else - { - // then give up trying to stop the process, and instead log the fact it already stopped. - Console.WriteLine($"Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); - logger.Debug($"ShortcutRepository/RunShortcut: Stopping only process {processToStop.StartInfo.FileName} but was already stopped by user or another process."); - } - continue; - } - } - catch (Exception ex) - { - logger.Error(ex, $"ShortcutRepository/RunShortcut: Exception while looking for other processes similar to processToStop for us to stop."); - } - - } + // Shutdown the processes + ProcessUtils.StopProcess(startProgramsToStop); } // Change Audio Device back (if one specified) From fd6ab9fc47193fcf314a79a92547ffcda0757161 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 7 Nov 2021 14:18:43 +1300 Subject: [PATCH 093/112] Fixed shortcut name populating when no game selected Now works as intended. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/ShortcutForm.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 74a7823..a420a45 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.179")] -[assembly: AssemblyFileVersion("2.1.0.179")] +[assembly: AssemblyVersion("2.1.0.180")] +[assembly: AssemblyFileVersion("2.1.0.180")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index b7e3b8c..06282c2 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -886,7 +886,7 @@ namespace DisplayMagician.UIForms else if (rb_switch_display_temp.Checked) txt_shortcut_save_name.Text = $"{_profileToUse.Name} (Temporary)"; } - else if (rb_launcher.Checked && txt_game_name.Text.Length > 0) + else if (rb_launcher.Checked && ilv_games.SelectedItems.Count >0) { txt_shortcut_save_name.Text = $"{txt_game_name.Text} ({_profileToUse.Name})"; } From 9200b82e2922362b0f2e8360b042cc148f6167b4 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 7 Nov 2021 14:41:11 +1300 Subject: [PATCH 094/112] Added shortcut loading form You now get warned that the shortcut form is loading and will take a while. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/LoadingForm.Designer.cs | 53 ++++++++++--------- DisplayMagician/UIForms/LoadingForm.cs | 37 +++++++++++++ DisplayMagician/UIForms/ShortcutForm.cs | 15 ++++++ 4 files changed, 82 insertions(+), 27 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a420a45..d684a72 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.180")] -[assembly: AssemblyFileVersion("2.1.0.180")] +[assembly: AssemblyVersion("2.1.0.190")] +[assembly: AssemblyFileVersion("2.1.0.190")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/LoadingForm.Designer.cs b/DisplayMagician/UIForms/LoadingForm.Designer.cs index d2a3374..9b663b4 100644 --- a/DisplayMagician/UIForms/LoadingForm.Designer.cs +++ b/DisplayMagician/UIForms/LoadingForm.Designer.cs @@ -30,33 +30,35 @@ namespace DisplayMagician.UIForms private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoadingForm)); - this.lblTitle = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); + this.lbl_title = new System.Windows.Forms.Label(); + this.lbl_description = new System.Windows.Forms.Label(); this.SuspendLayout(); // - // lblTitle + // lbl_title // - this.lblTitle.BackColor = System.Drawing.Color.Black; - this.lblTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblTitle.ForeColor = System.Drawing.Color.White; - this.lblTitle.Location = new System.Drawing.Point(36, 26); - this.lblTitle.Name = "lblTitle"; - this.lblTitle.Size = new System.Drawing.Size(347, 30); - this.lblTitle.TabIndex = 2; - this.lblTitle.Text = "DisplayMagician is loading..."; - this.lblTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_title.BackColor = System.Drawing.Color.Black; + this.lbl_title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_title.ForeColor = System.Drawing.Color.White; + this.lbl_title.Location = new System.Drawing.Point(36, 26); + this.lbl_title.Name = "lbl_title"; + this.lbl_title.Size = new System.Drawing.Size(347, 30); + this.lbl_title.TabIndex = 2; + this.lbl_title.Text = "DisplayMagician is loading..."; + this.lbl_title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_title.UseWaitCursor = true; // - // label1 + // lbl_description // - this.label1.BackColor = System.Drawing.Color.WhiteSmoke; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(36, 56); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(347, 48); - this.label1.TabIndex = 3; - this.label1.Text = "If you have installed a lot of games over time or have a lot of games installed n" + + this.lbl_description.BackColor = System.Drawing.Color.WhiteSmoke; + this.lbl_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_description.Location = new System.Drawing.Point(36, 56); + this.lbl_description.Name = "lbl_description"; + this.lbl_description.Size = new System.Drawing.Size(347, 48); + this.lbl_description.TabIndex = 3; + this.lbl_description.Text = "If you have installed a lot of games over time or have a lot of games installed n" + "ow, this may take a while!"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_description.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_description.UseWaitCursor = true; // // LoadingForm // @@ -66,8 +68,8 @@ namespace DisplayMagician.UIForms this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.ClientSize = new System.Drawing.Size(418, 129); this.ControlBox = false; - this.Controls.Add(this.label1); - this.Controls.Add(this.lblTitle); + this.Controls.Add(this.lbl_description); + this.Controls.Add(this.lbl_title); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; @@ -80,12 +82,13 @@ namespace DisplayMagician.UIForms this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "DisplayMagician is loading...."; this.UseWaitCursor = true; + this.Load += new System.EventHandler(this.LoadingForm_Load); this.ResumeLayout(false); } #endregion - private System.Windows.Forms.Label lblTitle; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label lbl_title; + private System.Windows.Forms.Label lbl_description; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/LoadingForm.cs b/DisplayMagician/UIForms/LoadingForm.cs index a67e226..2f10bfc 100644 --- a/DisplayMagician/UIForms/LoadingForm.cs +++ b/DisplayMagician/UIForms/LoadingForm.cs @@ -12,10 +12,47 @@ namespace DisplayMagician.UIForms { public partial class LoadingForm : Form { + private string _title = "DisplayMagician is loading..."; + private string _description = "If you have installed a lot of games over time or have a lot of games installed now, this may take a while!"; + public LoadingForm() { InitializeComponent(); this.TopMost = false; } + + + public string Title + { + get + { + return _title; + } + set + { + _title = value; + lbl_title.Text = _title; + this.Text = _title; + } + } + + public string Description + { + get + { + return _description; + } + set + { + _description = value; + lbl_description.Text = _description; + } + } + + + private void LoadingForm_Load(object sender, EventArgs e) + { + + } } } diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 06282c2..e0a8991 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -13,6 +13,7 @@ using AudioSwitcher.AudioApi.CoreAudio; using AudioSwitcher.AudioApi; using NHotkey.WindowsForms; using NHotkey; +using System.Threading; namespace DisplayMagician.UIForms { @@ -66,6 +67,13 @@ namespace DisplayMagician.UIForms public ShortcutForm(ShortcutItem shortcutToEdit, bool editingExistingShortcut = false) { InitializeComponent(); + Program.AppSplashScreen = new LoadingForm(); + Program.AppSplashScreen.Title = "Preparing game images..."; + Program.AppSplashScreen.Description = "Preparing game images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; + var splashThread = new Thread(new ThreadStart( + () => Application.Run(Program.AppSplashScreen))); + splashThread.SetApartmentState(ApartmentState.STA); + splashThread.Start(); // Set the profileAdaptor we need to load images from Profiles // into the Profiles ImageListView @@ -1618,6 +1626,13 @@ namespace DisplayMagician.UIForms // Finally enable the save button if it's still valid EnableSaveButtonIfValid(); + // Close the splash screen + if (ProgramSettings.LoadSettings().ShowSplashScreen && Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) + Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); + this.TopMost = true; + this.Focus(); + this.TopMost = false; + } private void rb_standalone_CheckedChanged(object sender, EventArgs e) From a1f9bb5e2fff45add822b4ee6b28e1ee9529e222 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 7 Nov 2021 17:34:55 +1300 Subject: [PATCH 095/112] First (probably) working process creation upgrade I have completely rewritten the process creation logic for the start programs to handle launchers, and applications that require higher level privileges. It doesn't quite handle asking for UAC if the programn requires it, but that's something I can add at a later date. At the moment it seems to work a lot more reliably than the last set of code. --- DisplayMagician/ProcessUtils.cs | 431 ++++++++++++++++++++- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- 2 files changed, 412 insertions(+), 23 deletions(-) diff --git a/DisplayMagician/ProcessUtils.cs b/DisplayMagician/ProcessUtils.cs index a055651..f17600d 100644 --- a/DisplayMagician/ProcessUtils.cs +++ b/DisplayMagician/ProcessUtils.cs @@ -5,6 +5,7 @@ using System.Diagnostics; using System.IO; using System.Management; using System.Runtime.InteropServices; +using System.Text; using System.Threading; using System.Threading.Tasks; @@ -15,6 +16,8 @@ namespace DisplayMagician private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + const uint SE_GROUP_INTEGRITY = 0x00000020; + [Flags] public enum PROCESS_CREATION_FLAGS : UInt32 { @@ -45,6 +48,177 @@ namespace DisplayMagician REALTIME_PRIORITY_CLASS = 0x00000100, } + + public enum SaferLevel : uint + { + Disallowed = 0, + Untrusted = 0x1000, + Constrained = 0x10000, + NormalUser = 0x20000, + FullyTrusted = 0x40000 + } + + public enum SaferScope : uint + { + Machine = 1, + User = 2 + } + + [Flags] + public enum SaferOpenFlags : uint + { + Open = 1 + } + + public enum TOKEN_INFORMATION_CLASS + { + /// + /// The buffer receives a TOKEN_USER structure that contains the user account of the token. + /// + TokenUser = 1, + + /// + /// The buffer receives a TOKEN_GROUPS structure that contains the group accounts associated with the token. + /// + TokenGroups, + + /// + /// The buffer receives a TOKEN_PRIVILEGES structure that contains the privileges of the token. + /// + TokenPrivileges, + + /// + /// The buffer receives a TOKEN_OWNER structure that contains the default owner security identifier (SID) for newly created objects. + /// + TokenOwner, + + /// + /// The buffer receives a TOKEN_PRIMARY_GROUP structure that contains the default primary group SID for newly created objects. + /// + TokenPrimaryGroup, + + /// + /// The buffer receives a TOKEN_DEFAULT_DACL structure that contains the default DACL for newly created objects. + /// + TokenDefaultDacl, + + /// + /// The buffer receives a TOKEN_SOURCE structure that contains the source of the token. TOKEN_QUERY_SOURCE access is needed to retrieve this information. + /// + TokenSource, + + /// + /// The buffer receives a TOKEN_TYPE value that indicates whether the token is a primary or impersonation token. + /// + TokenType, + + /// + /// The buffer receives a SECURITY_IMPERSONATION_LEVEL value that indicates the impersonation level of the token. If the access token is not an impersonation token, the function fails. + /// + TokenImpersonationLevel, + + /// + /// The buffer receives a TOKEN_STATISTICS structure that contains various token statistics. + /// + TokenStatistics, + + /// + /// The buffer receives a TOKEN_GROUPS structure that contains the list of restricting SIDs in a restricted token. + /// + TokenRestrictedSids, + + /// + /// The buffer receives a DWORD value that indicates the Terminal Services session identifier that is associated with the token. + /// + TokenSessionId, + + /// + /// The buffer receives a TOKEN_GROUPS_AND_PRIVILEGES structure that contains the user SID, the group accounts, the restricted SIDs, and the authentication ID associated with the token. + /// + TokenGroupsAndPrivileges, + + /// + /// Reserved. + /// + TokenSessionReference, + + /// + /// The buffer receives a DWORD value that is nonzero if the token includes the SANDBOX_INERT flag. + /// + TokenSandBoxInert, + + /// + /// Reserved. + /// + TokenAuditPolicy, + + /// + /// The buffer receives a TOKEN_ORIGIN value. + /// + TokenOrigin, + + /// + /// The buffer receives a TOKEN_ELEVATION_TYPE value that specifies the elevation level of the token. + /// + TokenElevationType, + + /// + /// The buffer receives a TOKEN_LINKED_TOKEN structure that contains a handle to another token that is linked to this token. + /// + TokenLinkedToken, + + /// + /// The buffer receives a TOKEN_ELEVATION structure that specifies whether the token is elevated. + /// + TokenElevation, + + /// + /// The buffer receives a DWORD value that is nonzero if the token has ever been filtered. + /// + TokenHasRestrictions, + + /// + /// The buffer receives a TOKEN_ACCESS_INFORMATION structure that specifies security information contained in the token. + /// + TokenAccessInformation, + + /// + /// The buffer receives a DWORD value that is nonzero if virtualization is allowed for the token. + /// + TokenVirtualizationAllowed, + + /// + /// The buffer receives a DWORD value that is nonzero if virtualization is enabled for the token. + /// + TokenVirtualizationEnabled, + + /// + /// The buffer receives a TOKEN_MANDATORY_LABEL structure that specifies the token's integrity level. + /// + TokenIntegrityLevel, + + /// + /// The buffer receives a DWORD value that is nonzero if the token has the UIAccess flag set. + /// + TokenUIAccess, + + /// + /// The buffer receives a TOKEN_MANDATORY_POLICY structure that specifies the token's mandatory integrity policy. + /// + TokenMandatoryPolicy, + + /// + /// The buffer receives the token's logon security identifier (SID). + /// + TokenLogonSid, + + /// + /// The maximum value for this enumeration + /// + MaxTokenInfoClass + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct STARTUPINFOEX { @@ -92,6 +266,42 @@ namespace DisplayMagician public int bInheritHandle; } + [StructLayout(LayoutKind.Sequential)] + private struct SID_AND_ATTRIBUTES + { + public IntPtr Sid; + public uint Attributes; + } + + [StructLayout(LayoutKind.Sequential)] + private struct TOKEN_MANDATORY_LABEL + { + public SID_AND_ATTRIBUTES Label; + } + + [DllImport("advapi32", SetLastError = true, CallingConvention = CallingConvention.StdCall)] + private static extern bool SaferCreateLevel(SaferScope scope, SaferLevel level, SaferOpenFlags openFlags, out IntPtr pLevelHandle, IntPtr lpReserved); + + [DllImport("advapi32", SetLastError = true, CallingConvention = CallingConvention.StdCall)] + private static extern bool SaferComputeTokenFromLevel(IntPtr LevelHandle, IntPtr InAccessToken, out IntPtr OutAccessToken, int dwFlags, IntPtr lpReserved); + + [DllImport("advapi32", SetLastError = true)] + private static extern bool SaferCloseLevel(IntPtr hLevelHandle); + + [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)] + private static extern bool ConvertStringSidToSid(string StringSid, out IntPtr ptrSid); + + [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool CloseHandle(IntPtr hObject); + + private static bool SafeCloseHandle(IntPtr hObject) + { + return (hObject == IntPtr.Zero) ? true : CloseHandle(hObject); + } + + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr LocalFree(IntPtr hMem); [DllImport("kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] @@ -109,6 +319,27 @@ namespace DisplayMagician IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFOEX lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); + [DllImport("advapi32.dll", SetLastError = true)] + static extern Boolean SetTokenInformation( + IntPtr TokenHandle, + TOKEN_INFORMATION_CLASS TokenInformationClass, + IntPtr TokenInformation, + UInt32 TokenInformationLength); + + [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)] + static extern bool CreateProcessAsUser( + IntPtr hToken, + string lpApplicationName, + string lpCommandLine, + IntPtr lpProcessAttributes, + IntPtr lpThreadAttributes, + bool bInheritHandles, + uint dwCreationFlags, + IntPtr lpEnvironment, + string lpCurrentDirectory, + ref STARTUPINFO lpStartupInfo, + out PROCESS_INFORMATION lpProcessInformation); + [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool UpdateProcThreadAttribute( @@ -124,9 +355,6 @@ namespace DisplayMagician [return: MarshalAs(UnmanagedType.Bool)] private static extern bool DeleteProcThreadAttributeList(IntPtr lpAttributeList); - [DllImport("kernel32.dll", SetLastError = true)] - private static extern bool CloseHandle(IntPtr hObject); - [DllImport("kernel32.dll", SetLastError = true)] private static extern uint ResumeThread(IntPtr hThread); @@ -192,13 +420,37 @@ namespace DisplayMagician List runningProcesses = new List(); Process process = null; PROCESS_INFORMATION processInfo; + bool usingChildProcess = false; try { - if (CreateProcessWithPriority(executable, arguments, ProcessUtils.TranslatePriorityToClass(processPriority), out processInfo)) + if (CreateProcessWithPriorityAsRestrictedUser(executable, arguments, ProcessUtils.TranslatePriorityToClass(processPriority), out processInfo)) { if (processInfo.dwProcessId > 0) { - process = Process.GetProcessById(processInfo.dwProcessId); + try + { + process = Process.GetProcessById(processInfo.dwProcessId); + Task.Delay(500); + if (process.HasExited) + { + // it's a launcher! We need to look for children + List childProcesses = GetChildProcesses(process); + runningProcesses.AddRange(childProcesses); + usingChildProcess = true; + } + else + { + runningProcesses.Add(process); + } + } + catch(Exception ex) + { + // it's a launcher! We need to look for children + List childProcesses = GetChildProcesses(processInfo.dwProcessId); + runningProcesses.AddRange(childProcesses); + usingChildProcess = true; + } + } else { @@ -211,9 +463,10 @@ namespace DisplayMagician process = Process.Start(psi); processInfo.hProcess = process.Handle; processInfo.dwProcessId = process.Id; - processInfo.dwThreadId = process.Threads[0].Id; if (!process.HasExited) { + processInfo.dwThreadId = process.Threads[0].Id; + // Change priority if we can (not always possible in this mode :( try { @@ -286,20 +539,24 @@ namespace DisplayMagician // Check the launched exe hasn't exited within 2 secs - for (int secs = 0; secs <= (startTimeout * 1000); secs += 500) + if (!usingChildProcess) { - // If we have no more processes left then we're done! - if (process.HasExited) + for (int secs = 0; secs <= (startTimeout * 1000); secs += 500) { - logger.Trace($"ProcessUtils/StartProcess: {executable} has exited early! It's likely to be a launcher! Trying to detect it's children."); - // As the original process has left the building, we'll overwrite it with the children processes - runningProcesses = GetChildProcesses(process); - break; + // If we have no more processes left then we're done! + if (process.HasExited) + { + logger.Trace($"ProcessUtils/StartProcess: {executable} has exited early! It's likely to be a launcher! Trying to detect it's children."); + // As the original process has left the building, we'll overwrite it with the children processes + runningProcesses = GetChildProcesses(process); + break; + } + // Send a message to windows so that it doesn't think + // we're locked and try to kill us + System.Threading.Thread.CurrentThread.Join(0); + Thread.Sleep(500); } - // Send a message to windows so that it doesn't think - // we're locked and try to kill us - System.Threading.Thread.CurrentThread.Join(0); - Thread.Sleep(500); + } return runningProcesses; @@ -316,9 +573,26 @@ namespace DisplayMagician return children; } - public static bool CreateProcessWithPriority(string exeName, string cmdLine, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) + public static List GetChildProcesses(int processId) + { + List children = new List(); + ManagementObjectSearcher mos = new ManagementObjectSearcher($"Select * From Win32_Process Where ParentProcessID={processId}"); + foreach (ManagementObject mo in mos.Get()) + { + children.Add(Process.GetProcessById(Convert.ToInt32(mo["ProcessID"]))); + } + return children; + } + + public static bool CreateProcessWithPriority(string fileName, string args, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) { PROCESS_CREATION_FLAGS processFlags = TranslatePriorityClassToFlags(priorityClass); + var cmd = new StringBuilder(); + cmd.Append('"').Append(fileName).Append('"'); + if (!string.IsNullOrWhiteSpace(args)) + { + cmd.Append(' ').Append(args); + } bool success = false; PROCESS_INFORMATION pInfo = new PROCESS_INFORMATION(); var pSec = new SECURITY_ATTRIBUTES(); @@ -329,7 +603,7 @@ namespace DisplayMagician sInfoEx.StartupInfo.cb = Marshal.SizeOf(sInfoEx); try { - success = CreateProcess(exeName, cmdLine, ref pSec, ref tSec, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); + success = CreateProcess(fileName, cmd.ToString(), ref pSec, ref tSec, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); } catch (Exception ex) { @@ -339,7 +613,7 @@ namespace DisplayMagician { try { - success = CreateProcess(exeName, cmdLine, IntPtr.Zero, IntPtr.Zero, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); + success = CreateProcess(fileName, cmd.ToString(), IntPtr.Zero, IntPtr.Zero, false, processFlags, IntPtr.Zero, null, ref sInfoEx, out pInfo); } catch (Exception ex) { @@ -351,6 +625,117 @@ namespace DisplayMagician return success; } + /// Runs a process as a non-elevated version of the current user. + public static bool CreateProcessWithPriorityAsRestrictedUser(string fileName, string args, ProcessPriorityClass priorityClass, out PROCESS_INFORMATION processInfo) + { + if (string.IsNullOrWhiteSpace(fileName)) + throw new ArgumentException("Value cannot be null or whitespace.", nameof(fileName)); + + var pi = new PROCESS_INFORMATION(); + if (GetRestrictedSessionUserToken(out var hRestrictedToken)) + { + try + { + var si = new STARTUPINFO(); + var cmd = new StringBuilder(); + cmd.Append('"').Append(fileName).Append('"'); + if (!string.IsNullOrWhiteSpace(args)) + { + cmd.Append(' ').Append(args); + } + + if (!CreateProcessAsUser( + hRestrictedToken, + fileName, + cmd.ToString(), + IntPtr.Zero, + IntPtr.Zero, + true, // inherit handle + 0, + IntPtr.Zero, + Path.GetDirectoryName(fileName), + ref si, + out pi)) + { + processInfo = pi; + return false; + } + + + } + finally + { + CloseHandle(hRestrictedToken); + } + processInfo = pi; + return true; + } + else + { + processInfo = pi; + return false; + } + + } + + // based on https://stackoverflow.com/a/16110126/862099 + private static bool GetRestrictedSessionUserToken(out IntPtr token) + { + token = IntPtr.Zero; + if (!SaferCreateLevel(SaferScope.User, SaferLevel.NormalUser, SaferOpenFlags.Open, out var hLevel, IntPtr.Zero)) + { + return false; + } + + IntPtr hRestrictedToken = IntPtr.Zero; + TOKEN_MANDATORY_LABEL tml = default; + tml.Label.Sid = IntPtr.Zero; + IntPtr tmlPtr = IntPtr.Zero; + + try + { + if (!SaferComputeTokenFromLevel(hLevel, IntPtr.Zero, out hRestrictedToken, 0, IntPtr.Zero)) + { + return false; + } + + // Set the token to medium integrity. + tml.Label.Attributes = SE_GROUP_INTEGRITY; + tml.Label.Sid = IntPtr.Zero; + if (!ConvertStringSidToSid("S-1-16-8192", out tml.Label.Sid)) + { + return false; + } + + tmlPtr = Marshal.AllocHGlobal(Marshal.SizeOf(tml)); + Marshal.StructureToPtr(tml, tmlPtr, false); + if (!SetTokenInformation(hRestrictedToken, + TOKEN_INFORMATION_CLASS.TokenIntegrityLevel, + tmlPtr, (uint)Marshal.SizeOf(tml))) + { + return false; + } + + token = hRestrictedToken; + hRestrictedToken = IntPtr.Zero; // make sure finally() doesn't close the handle + } + finally + { + SaferCloseLevel(hLevel); + SafeCloseHandle(hRestrictedToken); + if (tml.Label.Sid != IntPtr.Zero) + { + LocalFree(tml.Label.Sid); + } + if (tmlPtr != IntPtr.Zero) + { + Marshal.FreeHGlobal(tmlPtr); + } + } + + return true; + } + public static void ResumeProcess(PROCESS_INFORMATION processInfo) { ResumeThread(processInfo.hThread); @@ -492,7 +877,7 @@ namespace DisplayMagician { // Stop the process processToStop.CloseMainWindow(); - if (!processToStop.WaitForExit(5000)) + if (!processToStop.WaitForExit(1000)) { logger.Trace($"ProcessUtils/StopProcess: Process {processToStop.StartInfo.FileName} wouldn't stop cleanly. Forcing program close."); processToStop.Kill(); @@ -550,6 +935,10 @@ namespace DisplayMagician { logger.Debug($"ShortcutRepository/RunShortcut: Successfully stopped process {processToStop.StartInfo.FileName}"); } + else + { + logger.Warn($"ShortcutRepository/RunShortcut: Failed to stop process {processToStop.StartInfo.FileName} after main executable or game was exited by the user."); + } } } catch (Exception ex) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index d684a72..466bad3 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.190")] -[assembly: AssemblyFileVersion("2.1.0.190")] +[assembly: AssemblyVersion("2.1.0.195")] +[assembly: AssemblyFileVersion("2.1.0.195")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 8cf85c522726e52abbf5e3dfcc24d30de13e5790 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 7 Nov 2021 20:49:21 +1300 Subject: [PATCH 096/112] Added empty DisplayConfig and CustomDisplays to Display Profiles Added empty DisplayConfig dictionary and CustomDisplays list to the Display Profiles JSON format, as I'm going to need it in a while when I add the integer scaling. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/UIForms/ShortcutForm.cs | 4 +- DisplayMagicianShared/NVIDIA/NVAPI.cs | 39 +++++++++++++++++++ DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 32 ++++++++++++++- 4 files changed, 74 insertions(+), 5 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 466bad3..28d77a1 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.195")] -[assembly: AssemblyFileVersion("2.1.0.195")] +[assembly: AssemblyVersion("2.1.0.196")] +[assembly: AssemblyFileVersion("2.1.0.196")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index e0a8991..305a0ea 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -68,8 +68,8 @@ namespace DisplayMagician.UIForms { InitializeComponent(); Program.AppSplashScreen = new LoadingForm(); - Program.AppSplashScreen.Title = "Preparing game images..."; - Program.AppSplashScreen.Description = "Preparing game images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; + Program.AppSplashScreen.Title = "Preparing images..."; + Program.AppSplashScreen.Description = "Preparing images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; var splashThread = new Thread(new ThreadStart( () => Application.Run(Program.AppSplashScreen))); splashThread.SetApartmentState(ApartmentState.STA); diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index 0487025..7c4cf7f 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -1964,6 +1964,45 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NV_COLOR_DATA_V5 lhs, NV_COLOR_DATA_V5 rhs) => !(lhs == rhs); } + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NV_CUSTOM_DISPLAY_V1 : IEquatable + { + public UInt32 Version; //!< Version of this structure + public UInt32 Width; //!< Source surface(source mode) width + public UInt32 Height; //!< Source surface(source mode) height + public UInt32 Depth; //!< Source surface color depth."0" means all 8/16/32bpp + public NV_FORMAT ColorFormat; //!< Color format (optional) + public NV_VIEWPORTF SourcePartition; //!< For multimon support, should be set to (0,0,1.0,1.0) for now. + public float XRatio; //!< Horizontal scaling ratio + public float YRatio; //!< Vertical scaling ratio + public NV_TIMING Timing; //!< Timing used to program TMDS/DAC/LVDS/HDMI/TVEncoder, etc. + public UInt32 Flags; //!< If set to 1, it means a hardware modeset without OS update + + // Gets a boolean value indicating that a hardware mode-set without OS update should be performed. + public bool IsHardwareModeSetOnly => Flags.GetBit(0); + + public override bool Equals(object obj) => obj is NV_CUSTOM_DISPLAY_V1 other && this.Equals(other); + public bool Equals(NV_CUSTOM_DISPLAY_V1 other) + => Version == other.Version && + Width == other.Width && + Height == other.Height && + Depth == other.Depth && + ColorFormat == other.ColorFormat && + SourcePartition == other.SourcePartition && + XRatio == other.XRatio && + YRatio == other.YRatio && + Timing == other.Timing && + Flags == other.Flags; + + public override Int32 GetHashCode() + { + return (Version, Width, Height, Depth, ColorFormat, SourcePartition, XRatio, YRatio, Timing, Flags).GetHashCode(); + } + public static bool operator ==(NV_CUSTOM_DISPLAY_V1 lhs, NV_CUSTOM_DISPLAY_V1 rhs) => lhs.Equals(rhs); + + public static bool operator !=(NV_CUSTOM_DISPLAY_V1 lhs, NV_CUSTOM_DISPLAY_V1 rhs) => !(lhs == rhs); + } + // ================================== // NVImport Class // ================================== diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index b294655..8475386 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -88,12 +88,33 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); } + [StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_CUSTOM_DISPLAY_CONFIG : IEquatable + { + public List CustomDisplay; + + public override bool Equals(object obj) => obj is NVIDIA_CUSTOM_DISPLAY_CONFIG other && this.Equals(other); + public bool Equals(NVIDIA_CUSTOM_DISPLAY_CONFIG other) + => CustomDisplay.SequenceEqual(other.CustomDisplay); + + public override int GetHashCode() + { + return (CustomDisplay).GetHashCode(); + } + public static bool operator ==(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => !(lhs == rhs); + } + + [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_DISPLAY_CONFIG : IEquatable { public NVIDIA_MOSAIC_CONFIG MosaicConfig; public NVIDIA_HDR_CONFIG HdrConfig; public NVIDIA_COLOR_CONFIG ColorConfig; + public Dictionary CustomDisplays; + public List DisplayConfigs; // Note: We purposely have left out the DisplayNames from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. @@ -106,6 +127,8 @@ namespace DisplayMagicianShared.NVIDIA => MosaicConfig.Equals(other.MosaicConfig) && HdrConfig.Equals(other.HdrConfig) && ColorConfig.Equals(other.ColorConfig) && + //CustomDisplays.SequenceEqual(other.CustomDisplays) && + //DisplayConfigs.SequenceEqual(other.DisplayConfigs) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() @@ -254,6 +277,8 @@ namespace DisplayMagicianShared.NVIDIA myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); myDefaultConfig.ColorConfig.ColorData = new Dictionary(); + myDefaultConfig.CustomDisplays = new Dictionary(); + myDefaultConfig.DisplayConfigs = new List(); myDefaultConfig.DisplayNames = new Dictionary(); myDefaultConfig.DisplayIdentifiers = new List(); @@ -631,6 +656,9 @@ namespace DisplayMagicianShared.NVIDIA Dictionary allHdrCapabilities = new Dictionary(); Dictionary allHdrColorData = new Dictionary(); Dictionary allColorData = new Dictionary(); + Dictionary allCustomDisplays = new Dictionary(); + List allDisplayConfigs = new List(); + for (int displayIndex = 0; displayIndex < displayCount; displayIndex++) { if (allDisplays) @@ -811,11 +839,13 @@ namespace DisplayMagicianShared.NVIDIA } } - // Store the HDR information + // Store the information myDisplayConfig.HdrConfig.IsNvHdrEnabled = isNvHdrEnabled; myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; myDisplayConfig.ColorConfig.ColorData = allColorData; + myDisplayConfig.CustomDisplays = allCustomDisplays; + myDisplayConfig.DisplayConfigs = allDisplayConfigs; } } From a716c4160a5571fc17a700ce0768c8d4a7ce2479 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 8 Nov 2021 21:48:18 +1300 Subject: [PATCH 097/112] Fixed double added steam library Accidentally had the steam library added twice when parsed from two different locations, which doubled up the steam icons. Now fixed. --- DisplayMagician/GameLibraries/SteamLibrary.cs | 19 ++++++++------ DisplayMagician/Properties/AssemblyInfo.cs | 4 +-- .../UIForms/ShortcutForm.Designer.cs | 25 ++++++++----------- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/DisplayMagician/GameLibraries/SteamLibrary.cs b/DisplayMagician/GameLibraries/SteamLibrary.cs index 45efef9..60c2f26 100644 --- a/DisplayMagician/GameLibraries/SteamLibrary.cs +++ b/DisplayMagician/GameLibraries/SteamLibrary.cs @@ -633,14 +633,17 @@ namespace DisplayMagician.GameLibraries { // Check the entry is actually a directory string steamLibraryPath = Regex.Unescape(steamLibraryMatch.Groups[1].Value); - if (Directory.Exists(steamLibraryPath)) + if (!steamLibraryPath.Equals(_steamPath) && Directory.Exists(steamLibraryPath)) { - logger.Info($"SteamLibrary/LoadInstalledGames: Found additional steam library {steamLibraryPath}"); - steamLibrariesPaths.Add(steamLibraryPath); + if (!steamLibrariesPaths.Contains(steamLibraryPath)) + { + logger.Info($"SteamLibrary/LoadInstalledGames: Found additional steam library {steamLibraryPath} in the {_steamLibraryFoldersVdfFile} VDF file "); + steamLibrariesPaths.Add(steamLibraryPath); + } } else { - logger.Trace($"SteamLibrary/LoadInstalledGames: Found what it thought was an additional steam library {steamLibraryPath} in {_steamLibraryFoldersVdfFile}, but it didn't exist on the file system"); + logger.Trace($"SteamLibrary/LoadInstalledGames: Found what it thought was an additional steam library {steamLibraryPath} in {_steamLibraryFoldersVdfFile}, but it didn't exist on the file system, or was already added"); } } } @@ -669,18 +672,19 @@ namespace DisplayMagician.GameLibraries if (steamLibraryMatch.Success) { string steamLibraryPath = Regex.Unescape(steamLibraryMatch.Groups[1].Value); - if (Directory.Exists(steamLibraryPath)) + if (!steamLibraryPath.Equals(_steamPath) && Directory.Exists(steamLibraryPath)) { logger.Info($"SteamLibrary/LoadInstalledGames: Found additional steam library {steamLibraryPath}"); // Check if the steam library is already in the list! if (!steamLibrariesPaths.Contains(steamLibraryPath)) { + logger.Info($"SteamLibrary/LoadInstalledGames: Aadditional steam library {steamLibraryPath}"); steamLibrariesPaths.Add(steamLibraryPath); } } else { - logger.Trace($"SteamLibrary/LoadInstalledGames: Found what it thought was an additional steam library {steamLibraryPath} in {_steamConfigVdfFile}, but it didn't exist on the file system"); + logger.Trace($"SteamLibrary/LoadInstalledGames: Found what it thought was an additional steam library {steamLibraryPath} in {_steamConfigVdfFile}, but it didn't exist on the file system, or was already added"); } } } @@ -766,7 +770,8 @@ namespace DisplayMagician.GameLibraries } // And we add the Game to the list of games we have! - _allSteamGames.Add(new SteamGame(steamGameId, steamGameName, steamGameExe, steamGameIconPath)); + SteamGame gameToAdd = new SteamGame(steamGameId, steamGameName, steamGameExe, steamGameIconPath); + _allSteamGames.Add(gameToAdd); logger.Debug($"SteamLibrary/LoadInstalledGames: Adding Steam Game with game id {steamGameId}, name {steamGameName}, game exe {steamGameExe} and icon path {steamGameIconPath}"); } } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 28d77a1..431bb12 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.196")] -[assembly: AssemblyFileVersion("2.1.0.196")] +[assembly: AssemblyVersion("2.1.0.201")] +[assembly: AssemblyFileVersion("2.1.0.201")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index e5788ef..aff46b5 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -301,19 +301,18 @@ namespace DisplayMagician.UIForms // // dv_profile // - this.dv_profile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.dv_profile.BackColor = System.Drawing.Color.DimGray; this.dv_profile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.dv_profile.Dock = System.Windows.Forms.DockStyle.Top; this.dv_profile.Font = new System.Drawing.Font("Consolas", 50F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.dv_profile.ForeColor = System.Drawing.Color.MidnightBlue; - this.dv_profile.Location = new System.Drawing.Point(0, 0); + this.dv_profile.Location = new System.Drawing.Point(3, 3); this.dv_profile.Margin = new System.Windows.Forms.Padding(18); this.dv_profile.Name = "dv_profile"; this.dv_profile.PaddingX = 100; this.dv_profile.PaddingY = 100; this.dv_profile.Profile = null; - this.dv_profile.Size = new System.Drawing.Size(1082, 467); + this.dv_profile.Size = new System.Drawing.Size(1076, 472); this.dv_profile.TabIndex = 23; // // tabp_audio @@ -327,7 +326,7 @@ namespace DisplayMagician.UIForms this.tabp_audio.Location = new System.Drawing.Point(4, 32); this.tabp_audio.Name = "tabp_audio"; this.tabp_audio.Padding = new System.Windows.Forms.Padding(3); - this.tabp_audio.Size = new System.Drawing.Size(1082, 731); + this.tabp_audio.Size = new System.Drawing.Size(1082, 713); this.tabp_audio.TabIndex = 4; this.tabp_audio.Text = "2. Choose Audio"; // @@ -340,7 +339,7 @@ namespace DisplayMagician.UIForms this.lbl_no_active_capture_devices.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_no_active_capture_devices.ForeColor = System.Drawing.Color.White; this.lbl_no_active_capture_devices.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_active_capture_devices.Location = new System.Drawing.Point(126, 456); + this.lbl_no_active_capture_devices.Location = new System.Drawing.Point(126, 438); this.lbl_no_active_capture_devices.Name = "lbl_no_active_capture_devices"; this.lbl_no_active_capture_devices.Size = new System.Drawing.Size(831, 22); this.lbl_no_active_capture_devices.TabIndex = 36; @@ -357,7 +356,7 @@ namespace DisplayMagician.UIForms this.lbl_no_active_audio_devices.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_no_active_audio_devices.ForeColor = System.Drawing.Color.White; this.lbl_no_active_audio_devices.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_no_active_audio_devices.Location = new System.Drawing.Point(131, 162); + this.lbl_no_active_audio_devices.Location = new System.Drawing.Point(131, 153); this.lbl_no_active_audio_devices.Name = "lbl_no_active_audio_devices"; this.lbl_no_active_audio_devices.Size = new System.Drawing.Size(804, 22); this.lbl_no_active_audio_devices.TabIndex = 35; @@ -374,7 +373,7 @@ namespace DisplayMagician.UIForms this.lbl_disabled_shortcut_audio_chipset.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.lbl_disabled_shortcut_audio_chipset.ForeColor = System.Drawing.Color.White; this.lbl_disabled_shortcut_audio_chipset.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.lbl_disabled_shortcut_audio_chipset.Location = new System.Drawing.Point(263, 321); + this.lbl_disabled_shortcut_audio_chipset.Location = new System.Drawing.Point(263, 303); this.lbl_disabled_shortcut_audio_chipset.Name = "lbl_disabled_shortcut_audio_chipset"; this.lbl_disabled_shortcut_audio_chipset.Size = new System.Drawing.Size(557, 22); this.lbl_disabled_shortcut_audio_chipset.TabIndex = 34; @@ -990,8 +989,7 @@ namespace DisplayMagician.UIForms this.p_game.Controls.Add(this.lbl_game_timeout); this.p_game.Controls.Add(this.nud_timeout_game); this.p_game.Controls.Add(this.lbl_game_library); - this.p_game.Dock = System.Windows.Forms.DockStyle.Bottom; - this.p_game.Location = new System.Drawing.Point(3, 339); + this.p_game.Location = new System.Drawing.Point(3, 338); this.p_game.Name = "p_game"; this.p_game.Size = new System.Drawing.Size(1076, 389); this.p_game.TabIndex = 7; @@ -1051,15 +1049,14 @@ namespace DisplayMagician.UIForms // // ilv_games // - this.ilv_games.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); + this.ilv_games.Dock = System.Windows.Forms.DockStyle.Bottom; this.ilv_games.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.ilv_games.IntegralScroll = true; - this.ilv_games.Location = new System.Drawing.Point(0, 187); + this.ilv_games.Location = new System.Drawing.Point(0, 200); this.ilv_games.Name = "ilv_games"; this.ilv_games.PersistentCacheDirectory = ""; this.ilv_games.PersistentCacheSize = ((long)(100)); - this.ilv_games.Size = new System.Drawing.Size(1076, 202); + this.ilv_games.Size = new System.Drawing.Size(1076, 189); this.ilv_games.SortOrder = Manina.Windows.Forms.SortOrder.Ascending; this.ilv_games.TabIndex = 28; this.ilv_games.UseWIC = true; From 6724a4d2ae8fcb314520eda588ea1ce185fde066 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 9 Nov 2021 08:34:40 +1300 Subject: [PATCH 098/112] Attempt to hide shortcut splashscreen sooner --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagician/UIForms/ShortcutForm.cs | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 431bb12..28341a8 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.201")] -[assembly: AssemblyFileVersion("2.1.0.201")] +[assembly: AssemblyVersion("2.1.0.202")] +[assembly: AssemblyFileVersion("2.1.0.202")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 305a0ea..16f064c 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -944,6 +944,7 @@ namespace DisplayMagician.UIForms // Parse the game bitmaps now as we need them GameLibraries.GameLibrary.RefreshGameBitmaps(); + // Load all the profiles to prepare things bool foundChosenProfileInLoadedProfiles = false; ProfileItem chosenProfile = null; @@ -1212,6 +1213,8 @@ namespace DisplayMagician.UIForms } if (!gameStillInstalled) { + // Close the splash screen + CloseTheSplashScreen(); DialogResult result = MessageBox.Show( $"This shortcut refers to the '{_shortcutToEdit.GameName}' game that was installed in your {_shortcutToEdit.GameLibrary.ToString("G")} library. This game is no longer installed, so the shortcut won't work. You either need to change the game used in the Shortcut to another installed game, or you need to install the game files on your computer again.", @"Game no longer exists", @@ -1232,7 +1235,8 @@ namespace DisplayMagician.UIForms // since the shortcut was last created, then we need to tell the user if (!chosenProfile.IsPossible) { - + // Close the splash screen + CloseTheSplashScreen(); MessageBox.Show( $"The '{chosenProfile.Name}' Display Profile used by this Shortcut still exists, but it isn't possible to use it right now. You can either change the Display Profile this Shortcut uses, or you can change your Displays to make the Display Profile valid again.", @"Display Profile isn't possible now", @@ -1245,6 +1249,8 @@ namespace DisplayMagician.UIForms if (!foundChosenProfileInLoadedProfiles && !String.IsNullOrWhiteSpace(_shortcutToEdit.ProfileUUID)) { + // Close the splash screen + CloseTheSplashScreen(); MessageBox.Show( @"The Display Profile used by this Shortcut no longer exists and cannot be used. You need to choose a new Display Profile for this Shortcut.", @"Display Profile no longer exists", @@ -1626,13 +1632,19 @@ namespace DisplayMagician.UIForms // Finally enable the save button if it's still valid EnableSaveButtonIfValid(); + // Close the splash screen + CloseTheSplashScreen(); + + } + + private void CloseTheSplashScreen() + { // Close the splash screen if (ProgramSettings.LoadSettings().ShowSplashScreen && Program.AppSplashScreen != null && !Program.AppSplashScreen.Disposing && !Program.AppSplashScreen.IsDisposed) Program.AppSplashScreen.Invoke(new Action(() => Program.AppSplashScreen.Close())); this.TopMost = true; this.Focus(); this.TopMost = false; - } private void rb_standalone_CheckedChanged(object sender, EventArgs e) From 2b653999dd0218b28b476589728b9e0978506ddd Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Tue, 9 Nov 2021 09:26:04 +1300 Subject: [PATCH 099/112] Fixed game refresh --- DisplayMagician/GameLibraries/GameLibrary.cs | 9 +++ DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/ShortcutForm.Designer.cs | 21 ++++++- DisplayMagician/UIForms/ShortcutForm.cs | 58 +++++++++++++++++-- .../UIForms/ShortcutLibraryForm.cs | 22 ++++--- 5 files changed, 96 insertions(+), 18 deletions(-) diff --git a/DisplayMagician/GameLibraries/GameLibrary.cs b/DisplayMagician/GameLibraries/GameLibrary.cs index 9db6a81..6ac3a63 100644 --- a/DisplayMagician/GameLibraries/GameLibrary.cs +++ b/DisplayMagician/GameLibraries/GameLibrary.cs @@ -35,6 +35,8 @@ namespace DisplayMagician.GameLibraries public static List AllInstalledGamesInAllLibraries { get; set; } public static bool GamesLoaded { get; set; } = false; + public static bool GamesImagesLoaded { get; set; } = false; + public virtual List AllInstalledGames { get; set; } public virtual int InstalledGameCount { get; set; } @@ -260,6 +262,12 @@ namespace DisplayMagician.GameLibraries } } + // Clear the game libraries in case this is a refresh + SteamLibrary.GetLibrary().AllInstalledGames.Clear(); + UplayLibrary.GetLibrary().AllInstalledGames.Clear(); + OriginLibrary.GetLibrary().AllInstalledGames.Clear(); + EpicLibrary.GetLibrary().AllInstalledGames.Clear(); + GogLibrary.GetLibrary().AllInstalledGames.Clear(); // Produce a single array of Games we can reference later GameLibrary.AllInstalledGamesInAllLibraries = SteamLibrary.GetLibrary().AllInstalledGames; GameLibrary.AllInstalledGamesInAllLibraries.AddRange(UplayLibrary.GetLibrary().AllInstalledGames); @@ -344,6 +352,7 @@ namespace DisplayMagician.GameLibraries game.AvailableGameBitmaps = bmList; game.GameBitmap = ImageUtils.GetMeLargestAvailableBitmap(bmList); } + GamesImagesLoaded = true; } diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 28341a8..a6e08e2 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.202")] -[assembly: AssemblyFileVersion("2.1.0.202")] +[assembly: AssemblyVersion("2.1.0.214")] +[assembly: AssemblyFileVersion("2.1.0.214")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index aff46b5..723267c 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -132,6 +132,7 @@ namespace DisplayMagician.UIForms this.cb_autosuggest = new System.Windows.Forms.CheckBox(); this.btn_hotkey = new System.Windows.Forms.Button(); this.lbl_hotkey_assigned = new System.Windows.Forms.Label(); + this.btn_refresh_games_list = new System.Windows.Forms.Button(); this.tabc_shortcut.SuspendLayout(); this.tabp_display.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); @@ -326,7 +327,7 @@ namespace DisplayMagician.UIForms this.tabp_audio.Location = new System.Drawing.Point(4, 32); this.tabp_audio.Name = "tabp_audio"; this.tabp_audio.Padding = new System.Windows.Forms.Padding(3); - this.tabp_audio.Size = new System.Drawing.Size(1082, 713); + this.tabp_audio.Size = new System.Drawing.Size(1082, 731); this.tabp_audio.TabIndex = 4; this.tabp_audio.Text = "2. Choose Audio"; // @@ -973,6 +974,7 @@ namespace DisplayMagician.UIForms // // p_game // + this.p_game.Controls.Add(this.btn_refresh_games_list); this.p_game.Controls.Add(this.btn_choose_game_icon); this.p_game.Controls.Add(this.pb_game_icon); this.p_game.Controls.Add(this.lbl_no_game_libraries); @@ -1489,6 +1491,22 @@ namespace DisplayMagician.UIForms this.lbl_hotkey_assigned.Visible = false; this.lbl_hotkey_assigned.Click += new System.EventHandler(this.lbl_hotkey_assigned_Click); // + // btn_refresh_games_list + // + this.btn_refresh_games_list.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_refresh_games_list.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; + this.btn_refresh_games_list.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; + this.btn_refresh_games_list.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_refresh_games_list.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_refresh_games_list.ForeColor = System.Drawing.Color.White; + this.btn_refresh_games_list.Location = new System.Drawing.Point(950, 162); + this.btn_refresh_games_list.Name = "btn_refresh_games_list"; + this.btn_refresh_games_list.Size = new System.Drawing.Size(117, 25); + this.btn_refresh_games_list.TabIndex = 42; + this.btn_refresh_games_list.Text = "Refresh Games List"; + this.btn_refresh_games_list.UseVisualStyleBackColor = true; + this.btn_refresh_games_list.Click += new System.EventHandler(this.btn_refresh_games_list_Click); + // // ShortcutForm // this.AcceptButton = this.btn_save; @@ -1658,5 +1676,6 @@ namespace DisplayMagician.UIForms private System.Windows.Forms.CheckBox cb_run_cmd_afterwards; private System.Windows.Forms.TextBox txt_run_cmd_afterwards_args; private System.Windows.Forms.CheckBox cb_run_cmd_afterwards_args; + private System.Windows.Forms.Button btn_refresh_games_list; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 16f064c..3726b8d 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -110,7 +110,11 @@ namespace DisplayMagician.UIForms try { - audioController = new CoreAudioController(); + if (audioController == null) + { + audioController = new CoreAudioController(); + } + } catch (Exception ex) { @@ -775,7 +779,7 @@ namespace DisplayMagician.UIForms // Save everything is golden and close the form. DialogResult = DialogResult.OK; - this.Close(); + this.Hide(); } private void txt_alternative_executable_TextChanged(object sender, EventArgs e) @@ -941,9 +945,12 @@ namespace DisplayMagician.UIForms Game shortcutGame = null; - // Parse the game bitmaps now as we need them - GameLibraries.GameLibrary.RefreshGameBitmaps(); - + // Parse the game bitmaps now the first time as we need them + // We need to add a refresh button to the shortcut page now! + if (!GameLibraries.GameLibrary.GamesImagesLoaded) + { + GameLibraries.GameLibrary.RefreshGameBitmaps(); + } // Load all the profiles to prepare things bool foundChosenProfileInLoadedProfiles = false; @@ -1903,7 +1910,7 @@ namespace DisplayMagician.UIForms private void btn_back_Click(object sender, EventArgs e) { - this.Close(); + this.Hide(); } private void radiobutton_Paint(object sender, PaintEventArgs e) @@ -2824,6 +2831,45 @@ namespace DisplayMagician.UIForms { txt_run_cmd_afterwards.Text = getExeFile(); } + + private void btn_refresh_games_list_Click(object sender, EventArgs e) + { + // Change the mouse crusor so the user knows something is happening + this.Cursor = Cursors.WaitCursor; + // Empty the games list + GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries.Clear(); + // Load all the new games + GameLibraries.GameLibrary.LoadGamesInBackground(); + // Parse the libraries + GameLibraries.GameLibrary.RefreshGameBitmaps(); + // Load all the Games into the Games ListView + ilv_games.Items.Clear(); + foreach (var game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries.OrderBy(game => game.Name)) + { + // Add the game to the game array + ImageListViewItem newItem = new ImageListViewItem(game, game.Name); + if (_editingExistingShortcut && game.Name.Equals(_shortcutToEdit.GameName)) + { + newItem.Selected = true; + } + ilv_games.Items.Add(newItem, _gameAdaptor); + } + // Make sure that if the item is selected that it's visible + if (ilv_games.SelectedItems.Count > 0) + { + int selectedIndex = ilv_games.SelectedItems[0].Index; + ilv_games.EnsureVisible(selectedIndex); + } + + // Change the user cursor back + this.Cursor = Cursors.Default; + // Show we're done + MessageBox.Show( + @"The list of available games has been updated.", + @"Games List Updated", + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + } } // Class used to populate combo boxes diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 55ce1b1..358ab74 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -19,6 +19,7 @@ namespace DisplayMagician.UIForms private ShortcutAdaptor _shortcutAdaptor = new ShortcutAdaptor(); private ShortcutItem _selectedShortcut = null; + private ShortcutForm _shortcutForm = null; private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public ShortcutLibraryForm() @@ -264,13 +265,16 @@ namespace DisplayMagician.UIForms private void btn_new_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; - var shortcutForm = new ShortcutForm(new ShortcutItem(),false); - //ShortcutRepository.IsValidRefresh(); - shortcutForm.ShowDialog(this); - if (shortcutForm.DialogResult == DialogResult.OK) + if (_shortcutForm == null) { - ShortcutRepository.AddShortcut(shortcutForm.Shortcut); - _selectedShortcut = shortcutForm.Shortcut; + _shortcutForm = new ShortcutForm(new ShortcutItem(), false); + } + //ShortcutRepository.IsValidRefresh(); + _shortcutForm.ShowDialog(this); + if (_shortcutForm.DialogResult == DialogResult.OK) + { + ShortcutRepository.AddShortcut(_shortcutForm.Shortcut); + _selectedShortcut = _shortcutForm.Shortcut; //ShortcutRepository.IsValidRefresh(); RefreshShortcutLibraryUI(); } @@ -313,10 +317,10 @@ namespace DisplayMagician.UIForms this.Cursor = Cursors.WaitCursor; - var shortcutForm = new ShortcutForm(_selectedShortcut,true); + _shortcutForm = new ShortcutForm(_selectedShortcut,true); //ilv_saved_shortcuts.SuspendLayout(); - shortcutForm.ShowDialog(this); - if (shortcutForm.DialogResult == DialogResult.OK) + _shortcutForm.ShowDialog(this); + if (_shortcutForm.DialogResult == DialogResult.OK) { RefreshShortcutLibraryUI(); // As this is an edit, we need to manually force saving the shortcut library From d4494aa699fbcbc0a4f6c4406919e519cbdd88a5 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 13 Nov 2021 15:06:54 +1300 Subject: [PATCH 100/112] Updated NVIDIA, AMD and Windows Video libraries Updated with enhancements to make application of colour more robust, and to avoid a Windows CCD display validation issue. --- DisplayMagicianShared/AMD/AMDLibrary.cs | 64 +- DisplayMagicianShared/NVIDIA/NVAPI.cs | 565 +++++++----- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 801 ++++++++++++------ DisplayMagicianShared/Windows/WinLibrary.cs | 69 +- 4 files changed, 972 insertions(+), 527 deletions(-) diff --git a/DisplayMagicianShared/AMD/AMDLibrary.cs b/DisplayMagicianShared/AMD/AMDLibrary.cs index a0dbf6c..3d52953 100644 --- a/DisplayMagicianShared/AMD/AMDLibrary.cs +++ b/DisplayMagicianShared/AMD/AMDLibrary.cs @@ -1336,13 +1336,11 @@ namespace DisplayMagicianShared.AMD // We need to change to an Eyefinity (SLS) profile, so we need to apply the new SLS Topologies SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is enabled in the new display configuration, so we need to set it"); - SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: There are {displayConfig.SlsConfig.SLSMapConfigs.Count} SLSMapConfigs in this display configuration"); - foreach (AMD_SLSMAP_CONFIG slsMapConfig in displayConfig.SlsConfig.SLSMapConfigs) { // Attempt to turn on this SLS Map Config if it exists in the AMD Radeon driver config database ADLRet = ADLImport.ADL2_Display_SLSMapConfig_SetState(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap.SLSMapIndex, ADLImport.ADL_TRUE); - if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) + if (ADLRet == ADL_STATUS.ADL_OK) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_SetState successfully set the SLSMAP with index {slsMapConfig.SLSMap.SLSMapIndex} to TRUE for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1360,7 +1358,7 @@ namespace DisplayMagicianShared.AMD int supportedSLSLayoutImageMode; int reasonForNotSupportSLS; ADLRet = ADLImport.ADL2_Display_SLSMapConfig_Valid(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap, slsMapConfig.SLSTargets.Count, slsMapConfig.SLSTargets.ToArray(), out supportedSLSLayoutImageMode, out reasonForNotSupportSLS, ADLImport.ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE); - if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) + if (ADLRet == ADL_STATUS.ADL_OK) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_Valid successfully validated a new SLSMAP config for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1373,7 +1371,7 @@ namespace DisplayMagicianShared.AMD // Create and apply the new SLSMap int newSlsMapIndex; ADLRet = ADLImport.ADL2_Display_SLSMapConfig_Create(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap, slsMapConfig.SLSTargets.Count, slsMapConfig.SLSTargets.ToArray(), slsMapConfig.BezelModePercent, out newSlsMapIndex, ADLImport.ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE); - if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) + if (ADLRet == ADL_STATUS.ADL_OK) { if (newSlsMapIndex != -1) { @@ -1411,7 +1409,7 @@ namespace DisplayMagicianShared.AMD { // Turn off this SLS Map Config ADLRet = ADLImport.ADL2_Display_SLSMapConfig_SetState(_adlContextHandle, slsMapConfig.SLSMap.AdapterIndex, slsMapConfig.SLSMap.SLSMapIndex, ADLImport.ADL_FALSE); - if (ADLRet == ADL_STATUS.ADL_OK || ADLRet == ADL_STATUS.ADL_OK_MODE_CHANGE || ADLRet == ADL_STATUS.ADL_OK_RESTART || ADLRet == ADL_STATUS.ADL_OK_WAIT || ADLRet == ADL_STATUS.ADL_OK_WARNING) + if (ADLRet == ADL_STATUS.ADL_OK) { SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: ADL2_Display_SLSMapConfig_SetState successfully disabled the SLSMAP with index {slsMapConfig.SLSMap.SLSMapIndex} for adapter { slsMapConfig.SLSMap.AdapterIndex}."); } @@ -1423,10 +1421,6 @@ namespace DisplayMagicianShared.AMD } } - else - { - SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfig: SLS is not used in the wanted display configuration, or the current display configuration. Nothing to do."); - } } @@ -1457,34 +1451,42 @@ namespace DisplayMagicianShared.AMD // Try and find the HDR config displays in the list of currently connected displays foreach (var displayInfoItem in ActiveDisplayConfig.DisplayTargets) { - // If we find the HDR config display in the list of currently connected displays then try to set the HDR setting we recorded earlier - if (hdrConfig.Key == displayInfoItem.DisplayID.DisplayLogicalIndex) + try { - if (hdrConfig.Value.HDREnabled) + // If we find the HDR config display in the list of currently connected displays then try to set the HDR setting we recorded earlier + if (hdrConfig.Key == displayInfoItem.DisplayID.DisplayLogicalIndex) { - ADLRet = ADLImport.ADL2_Display_HDRState_Set(_adlContextHandle, hdrConfig.Value.AdapterIndex, displayInfoItem.DisplayID, 1); - if (ADLRet == ADL_STATUS.ADL_OK) + if (hdrConfig.Value.HDREnabled) { - SharedLogger.logger.Trace($"AMDLibrary/GetAMDDisplayConfig: ADL2_Display_HDRState_Set was able to turn on HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + ADLRet = ADLImport.ADL2_Display_HDRState_Set(_adlContextHandle, hdrConfig.Value.AdapterIndex, displayInfoItem.DisplayID, 1); + if (ADLRet == ADL_STATUS.ADL_OK) + { + SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfigOverride: ADL2_Display_HDRState_Set was able to turn on HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + } + else + { + SharedLogger.logger.Error($"AMDLibrary/SetActiveConfigOverride: ADL2_Display_HDRState_Set was NOT able to turn on HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + } } else { - SharedLogger.logger.Error($"AMDLibrary/GetAMDDisplayConfig: ADL2_Display_HDRState_Set was NOT able to turn on HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + ADLRet = ADLImport.ADL2_Display_HDRState_Set(_adlContextHandle, hdrConfig.Value.AdapterIndex, displayInfoItem.DisplayID, 0); + if (ADLRet == ADL_STATUS.ADL_OK) + { + SharedLogger.logger.Trace($"AMDLibrary/SetActiveConfigOverride: ADL2_Display_HDRState_Set was able to turn off HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + } + else + { + SharedLogger.logger.Error($"AMDLibrary/SetActiveConfigOverride: ADL2_Display_HDRState_Set was NOT able to turn off HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + } } + break; } - else - { - ADLRet = ADLImport.ADL2_Display_HDRState_Set(_adlContextHandle, hdrConfig.Value.AdapterIndex, displayInfoItem.DisplayID, 0); - if (ADLRet == ADL_STATUS.ADL_OK) - { - SharedLogger.logger.Trace($"AMDLibrary/GetAMDDisplayConfig: ADL2_Display_HDRState_Set was able to turn off HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); - } - else - { - SharedLogger.logger.Error($"AMDLibrary/GetAMDDisplayConfig: ADL2_Display_HDRState_Set was NOT able to turn off HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); - } - } - break; + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"AMDLibrary/GetAMDDisplayConfig: Exception! ADL2_Display_HDRState_Set was NOT able to change HDR for display {displayInfoItem.DisplayID.DisplayLogicalIndex}."); + continue; } } @@ -1907,7 +1909,7 @@ namespace DisplayMagicianShared.AMD if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"AMDLibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } } diff --git a/DisplayMagicianShared/NVIDIA/NVAPI.cs b/DisplayMagicianShared/NVIDIA/NVAPI.cs index 7c4cf7f..fd5650f 100644 --- a/DisplayMagicianShared/NVIDIA/NVAPI.cs +++ b/DisplayMagicianShared/NVIDIA/NVAPI.cs @@ -364,6 +364,72 @@ namespace DisplayMagicianShared.NVIDIA UNKNOWN = 0xFFFFFFFF, } + public enum NV_DISPLAYCONFIG_SPANNING_ORIENTATION : UInt32 + { + NV_DISPLAYCONFIG_SPAN_NONE = 0, + NV_DISPLAYCONFIG_SPAN_HORIZONTAL = 1, + NV_DISPLAYCONFIG_SPAN_VERTICAL = 2, + } + + public enum TIMING_SCAN_MODE : ushort + { + /// + /// Progressive scan mode + /// + Progressive = 0, + + /// + /// Interlaced scan mode + /// + Interlaced = 1, + + /// + /// Interlaced scan mode with extra vertical blank + /// + InterlacedWithExtraVerticalBlank = 1, + + /// + /// Interlaced scan mode without extra vertical blank + /// + InterlacedWithNoExtraVerticalBlank = 2 + } + + public enum TIMING_VERTICAL_SYNC_POLARITY : byte + { + /// + /// Positive vertical synchronized polarity + /// + Positive = 0, + + /// + /// Negative vertical synchronized polarity + /// + Negative = 1, + + /// + /// Default vertical synchronized polarity + /// + Default = Positive + } + + public enum TIMING_HORIZONTAL_SYNC_POLARITY : byte + { + /// + /// Positive horizontal synchronized polarity + /// + Positive = 0, + + /// + /// Negative horizontal synchronized polarity + /// + Negative = 1, + + /// + /// Default horizontal synchronized polarity + /// + Default = Negative + } + public enum NV_TIMING_OVERRIDE : UInt32 { CURRENT = 0, //!< get the current timing @@ -822,36 +888,39 @@ namespace DisplayMagicianShared.NVIDIA } - [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode)] - public struct NV_TIMINGEXT : IEquatable + [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Ansi)] + public struct NV_TIMING_EXTRA : IEquatable { - public UInt32 Flag; //!< Reserved for NVIDIA hardware-based enhancement, such as double-scan. - public ushort Rr; //!< Logical refresh rate to present - public UInt32 Rrx1k; //!< Physical vertical refresh rate in 0.001Hz - public UInt32 Aspect; //!< Display aspect ratio Hi(aspect):horizontal-aspect, Low(aspect):vertical-aspect - public ushort Rep; //!< Bit-wise pixel repetition factor: 0x1:no pixel repetition; 0x2:each pixel repeats twice horizontally,.. - public UInt32 Status; //!< Timing standard - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = (Int32)NVImport.NVAPI_UNICODE_STRING_MAX)] + public UInt32 Flags; //!< Reserved for NVIDIA hardware-based enhancement, such as double-scan. + public ushort RefreshRate; //!< Logical refresh rate to present + public UInt32 FrequencyInMillihertz; //!< Physical vertical refresh rate in 0.001Hz + public ushort VerticalAspect; //!< Display aspect ratio Hi(aspect):horizontal-aspect, Low(aspect):vertical-aspect + public ushort HorizontalAspect; //!< Display aspect ratio Hi(aspect):horizontal-aspect, Low(aspect):vertical-aspect + public ushort HorizontalPixelRepetition; //!< Bit-wise pixel repetition factor: 0x1:no pixel repetition; 0x2:each pixel repeats twice horizontally,.. + public UInt32 TimingStandard; //!< Timing standard + //[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)] public string Name; //!< Timing name - public override bool Equals(object obj) => obj is NV_TIMINGEXT other && this.Equals(other); + public override bool Equals(object obj) => obj is NV_TIMING_EXTRA other && this.Equals(other); - public bool Equals(NV_TIMINGEXT other) - => Flag == other.Flag && - Rr == other.Rr && - Rrx1k == other.Rrx1k && - Aspect == other.Aspect && - Rep == other.Rep && - Status == other.Status && + public bool Equals(NV_TIMING_EXTRA other) + => Flags == other.Flags && + RefreshRate == other.RefreshRate && + FrequencyInMillihertz == other.FrequencyInMillihertz && + VerticalAspect == other.VerticalAspect && + HorizontalAspect == other.HorizontalAspect && + HorizontalPixelRepetition == other.HorizontalPixelRepetition && + TimingStandard == other.TimingStandard && Name == other.Name; public override Int32 GetHashCode() { - return (Flag, Rr, Rrx1k, Aspect, Rep, Status, Name).GetHashCode(); + return (Flags, RefreshRate, FrequencyInMillihertz, HorizontalAspect, HorizontalPixelRepetition, TimingStandard, Name).GetHashCode(); } - public static bool operator ==(NV_TIMINGEXT lhs, NV_TIMINGEXT rhs) => lhs.Equals(rhs); + public static bool operator ==(NV_TIMING_EXTRA lhs, NV_TIMING_EXTRA rhs) => lhs.Equals(rhs); - public static bool operator !=(NV_TIMINGEXT lhs, NV_TIMINGEXT rhs) => !(lhs == rhs); + public static bool operator !=(NV_TIMING_EXTRA lhs, NV_TIMING_EXTRA rhs) => !(lhs == rhs); } [StructLayout(LayoutKind.Sequential, Pack = 8)] @@ -863,20 +932,20 @@ namespace DisplayMagicianShared.NVIDIA public ushort HFrontPorch; //!< horizontal front porch public ushort HSyncWidth; //!< horizontal sync width public ushort HTotal; //!< horizontal total - public byte HSyncPol; //!< horizontal sync polarity: 1-negative, 0-positive + public TIMING_HORIZONTAL_SYNC_POLARITY HSyncPol; //!< horizontal sync polarity: 1-negative, 0-positive public ushort VVisible; //!< vertical visible public ushort VBorder; //!< vertical border public ushort VFrontPorch; //!< vertical front porch public ushort VSyncWidth; //!< vertical sync width public ushort VTotal; //!< vertical total - public byte VSyncPol; //!< vertical sync polarity: 1-negative, 0-positive + public TIMING_VERTICAL_SYNC_POLARITY VSyncPol; //!< vertical sync polarity: 1-negative, 0-positive - public ushort Interlaced; //!< 1-Int32erlaced, 0-progressive + public TIMING_SCAN_MODE ScanMode; //!< 1-Int32erlaced, 0-progressive public UInt32 Pclk; //!< pixel clock in 10 kHz //other timing related extras - NV_TIMINGEXT Etc; + public NV_TIMING_EXTRA Extra; public override bool Equals(object obj) => obj is NV_TIMING other && this.Equals(other); @@ -893,13 +962,13 @@ namespace DisplayMagicianShared.NVIDIA VSyncWidth == other.VSyncWidth && VTotal == other.VTotal && VSyncPol == other.VSyncPol && - Interlaced == other.Interlaced && + ScanMode == other.ScanMode && Pclk == other.Pclk && - Etc.Equals(other.Etc); + Extra.Equals(other.Extra); public override Int32 GetHashCode() { - return (HVisible, HBorder, HFrontPorch, HSyncWidth, HTotal, HSyncPol, VVisible, VBorder, VFrontPorch, VSyncWidth, VTotal, VSyncPol, Interlaced, Pclk, Etc).GetHashCode(); + return (HVisible, HBorder, HFrontPorch, HSyncWidth, HTotal, HSyncPol, VVisible, VBorder, VFrontPorch, VSyncWidth, VTotal, VSyncPol, ScanMode, Pclk, Extra).GetHashCode(); } public static bool operator ==(NV_TIMING lhs, NV_TIMING rhs) => lhs.Equals(rhs); @@ -931,6 +1000,27 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NV_RECT lhs, NV_RECT rhs) => !(lhs == rhs); } + [StructLayout(LayoutKind.Sequential, Pack = 8)] + public struct NV_LUID : IEquatable + { + public UInt32 LowPart; + public UInt32 HighPart; + + public override bool Equals(object obj) => obj is NV_LUID other && this.Equals(other); + + public bool Equals(NV_LUID other) + => LowPart == other.LowPart && + HighPart == other.HighPart; + + public override Int32 GetHashCode() + { + return (LowPart, HighPart).GetHashCode(); + } + public static bool operator ==(NV_LUID lhs, NV_LUID rhs) => lhs.Equals(rhs); + + public static bool operator !=(NV_LUID lhs, NV_LUID rhs) => !(lhs == rhs); + } + [StructLayout(LayoutKind.Sequential, Pack = 8)] public struct NV_POSITION : IEquatable @@ -985,6 +1075,14 @@ namespace DisplayMagicianShared.NVIDIA public float W; //!< Width of the viewport public float H; //!< Height of the viewport + public NV_VIEWPORTF(float myX, float myY, float myW, float myH) : this() + { + X = myX; + Y = myY; + W = myW; + H = myH; + } + public override bool Equals(object obj) => obj is NV_VIEWPORTF other && this.Equals(other); // NOTE: Using Math.Round for equality testing between floats. @@ -1018,20 +1116,21 @@ namespace DisplayMagicianShared.NVIDIA public NV_SCALING Scaling; //!< (IN) scaling setting. // Refresh Rate - public UInt32 RefreshRate1K; //!< (IN) Non-Int32erlaced Refresh Rate of the mode, multiplied by 1000, 0 = ignored - //!< This is the value which driver reports to the OS. - // Flags - //public UInt32 Int32erlaced:1; //!< (IN) Interlaced mode flag, ignored if refreshRate == 0 - //public UInt32 primary:1; //!< (IN) Declares primary display in clone configuration. This is *NOT* GDI Primary. - //!< Only one target can be primary per source. If no primary is specified, the first - //!< target will automatically be primary. - //public UInt32 isPanAndScanTarget:1; //!< Whether on this target Pan and Scan is enabled or has to be enabled. Valid only - //!< when the target is part of clone topology. - //public UInt32 disableVirtualModeSupport:1; - //public UInt32 isPreferredUnscaledTarget:1; - //public UInt32 reserved:27; - // TV format information - public NV_GPU_CONNECTOR_TYPE Connector; //!< Specify connector type. For TV only, ignored if tvFormat == NV_DISPLAY_TV_FORMAT_NONE + public UInt32 RefreshRateInMillihertz; //!< (IN) Non-Int32erlaced Refresh Rate of the mode, multiplied by 1000, 0 = ignored + //!< This is the value which driver reports to the OS. + // Flags + //public UInt32 Int32erlaced:1; //!< (IN) Interlaced mode flag, ignored if refreshRate == 0 + //public UInt32 primary:1; //!< (IN) Declares primary display in clone configuration. This is *NOT* GDI Primary. + //!< Only one target can be primary per source. If no primary is specified, the first + //!< target will automatically be primary. + //public UInt32 isPanAndScanTarget:1; //!< Whether on this target Pan and Scan is enabled or has to be enabled. Valid only + //!< when the target is part of clone topology. + //public UInt32 disableVirtualModeSupport:1; + //public UInt32 isPreferredUnscaledTarget:1; + //public UInt32 reserved:27; + public UInt32 Flags; + // TV format information + public NV_GPU_CONNECTOR_TYPE ConnectorType; //!< Specify connector type. For TV only, ignored if tvFormat == NV_DISPLAY_TV_FORMAT_NONE public NV_DISPLAY_TV_FORMAT TvFormat; //!< (IN) to choose the last TV format set this value to NV_DISPLAY_TV_FORMAT_NONE //!< In case of NvAPI_DISP_GetDisplayConfig(), this field will indicate the currently applied TV format; //!< if no TV format is applied, this field will have NV_DISPLAY_TV_FORMAT_NONE value. @@ -1050,15 +1149,16 @@ namespace DisplayMagicianShared.NVIDIA => Version == other.Version && Rotation == other.Rotation && Scaling == other.Scaling && - RefreshRate1K == other.RefreshRate1K && - Connector == other.Connector && + RefreshRateInMillihertz == other.RefreshRateInMillihertz && + Flags == other.Flags && + ConnectorType == other.ConnectorType && TvFormat == other.TvFormat && TimingOverride == other.TimingOverride && Timing.Equals(other.Timing); public override Int32 GetHashCode() { - return (Version, Rotation, Scaling, RefreshRate1K, Connector, TvFormat, TimingOverride, Timing).GetHashCode(); + return (Version, Rotation, Scaling, RefreshRateInMillihertz, Flags, ConnectorType, TvFormat, TimingOverride, Timing).GetHashCode(); } public static bool operator ==(NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO lhs, NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO rhs) => lhs.Equals(rhs); @@ -1069,19 +1169,19 @@ namespace DisplayMagicianShared.NVIDIA public struct NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 : IEquatable { public UInt32 DisplayId; //!< Display ID - NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO Details; //!< May be NULL if no advanced settings are required - public UInt32 TargetId; //!< Windows CCD target ID. Must be present only for non-NVIDIA adapter, for NVIDIA adapter this parameter is ignored. + public NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO Details; //!< May be NULL if no advanced settings are required + public UInt32 WindowsCCDTargetId; //!< Windows CCD target ID. Must be present only for non-NVIDIA adapter, for NVIDIA adapter this parameter is ignored. public override bool Equals(object obj) => obj is NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 other && this.Equals(other); public bool Equals(NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 other) => DisplayId == other.DisplayId && Details.Equals(other.Details) && - TargetId == other.TargetId; + WindowsCCDTargetId == other.WindowsCCDTargetId; public override Int32 GetHashCode() { - return (DisplayId, Details, TargetId).GetHashCode(); + return (DisplayId, Details, WindowsCCDTargetId).GetHashCode(); } public static bool operator ==(NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 lhs, NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 rhs) => lhs.Equals(rhs); @@ -1092,7 +1192,7 @@ namespace DisplayMagicianShared.NVIDIA public struct NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1 : IEquatable { public UInt32 DisplayId; //!< Display ID - NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO Details; //!< May be NULL if no advanced settings are required + public NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO Details; //!< May be NULL if no advanced settings are required public override bool Equals(object obj) => obj is NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1 other && this.Equals(other); @@ -1109,23 +1209,26 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1 lhs, NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1 rhs) => !(lhs == rhs); } - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential, Pack = 8)] public struct NV_DISPLAYCONFIG_PATH_INFO_V2 : IEquatable // Version is 2 { public UInt32 Version; public UInt32 SourceId; //!< Identifies sourceId used by Windows CCD. This can be optionally set. public UInt32 TargetInfoCount; //!< Number of elements in targetInfo array - //[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - public NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2[] TargetInfo; - public NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1 SourceModeInfo; //!< May be NULL if mode info is not important - //public UInt32 IsNonNVIDIAAdapter : 1; //!< True for non-NVIDIA adapter. - //public UInt32 reserved : 31; //!< Must be 0 - //public LUID pOSAdapterID; //!< Used by Non-NVIDIA adapter for poInt32er to OS Adapter of LUID - //!< type, type casted to void *. - public UInt32 Reserved; + //[MarshalAs(UnmanagedType.ByValArray)] + public IntPtr TargetInfo; + public IntPtr SourceModeInfo; //!< May be NULL if mode info is not important + //public IntPtr SourceModeInfo; //!< May be NULL if mode info is not important + //public UInt32 IsNonNVIDIAAdapter : 1; //!< True for non-NVIDIA adapter. + //public UInt32 reserved : 31; //!< Must be 0 + public UInt32 Flags; + //!< Used by Non-NVIDIA adapter for pointer to OS Adapter of LUID + //!< type, type casted to void *. public IntPtr OSAdapterID; + public bool IsNonNVIDIAAdapter => Flags.GetBit(0); //!< if bit is set then this path uses a non-nvidia adapter + public override bool Equals(object obj) => obj is NV_DISPLAYCONFIG_PATH_INFO_V2 other && this.Equals(other); public bool Equals(NV_DISPLAYCONFIG_PATH_INFO_V2 other) @@ -1134,12 +1237,11 @@ namespace DisplayMagicianShared.NVIDIA TargetInfoCount == other.TargetInfoCount && TargetInfo.Equals(other.TargetInfo) && SourceModeInfo.Equals(other.SourceModeInfo) && - Reserved == other.Reserved && - OSAdapterID == other.OSAdapterID; + Flags == other.Flags; public override Int32 GetHashCode() { - return (Version, SourceId, TargetInfoCount, TargetInfo, SourceModeInfo).GetHashCode(); + return (Version, SourceId, TargetInfoCount, TargetInfo, SourceModeInfo, Flags).GetHashCode(); } public static bool operator ==(NV_DISPLAYCONFIG_PATH_INFO_V2 lhs, NV_DISPLAYCONFIG_PATH_INFO_V2 rhs) => lhs.Equals(rhs); @@ -1188,10 +1290,11 @@ namespace DisplayMagicianShared.NVIDIA public NV_POSITION Position; //!< Is all positions are 0 or invalid, displays will be automatically //!< positioned from left to right with GDI Primary at 0,0, and all //!< other displays in the order of the path array. - //public NV_DISPLAYCONFIG_SPANNING_ORIENTATION spanningOrientation; //!< Spanning is only supported on XP - //public UInt32 bGDIPrimary : 1; - //public UInt32 bSLIFocus : 1; - //public UInt32 reserved : 30; //!< Must be 0 + public NV_DISPLAYCONFIG_SPANNING_ORIENTATION SpanningOrientation; //!< Spanning is only supported on XP + public UInt32 Flags; + + public bool IsGDIPrimary => (Flags & 0x1) == 0x1; //!< if bit is set then this source is the primary GDI source + public bool IsSLIFocus => (Flags & 0x2) == 0x2; //!< if bit is set then this source has SLI focus public override bool Equals(object obj) => obj is NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1 other && this.Equals(other); @@ -2083,6 +2186,7 @@ namespace DisplayMagicianShared.NVIDIA public static UInt32 NV_EDID_V3_VER = MAKE_NVAPI_VERSION(3); public static UInt32 NV_DISPLAYCONFIG_PATH_INFO_V1_VER = MAKE_NVAPI_VERSION(1); public static UInt32 NV_DISPLAYCONFIG_PATH_INFO_V2_VER = MAKE_NVAPI_VERSION(2); + public static UInt32 NV_CUSTOM_DISPLAY_V1_VER = MAKE_NVAPI_VERSION(1); #region Internal Constant @@ -2217,9 +2321,10 @@ namespace DisplayMagicianShared.NVIDIA GetDelegate(NvId_Disp_GetHdrCapabilities, out Disp_GetHdrCapabilitiesInternal); GetDelegate(NvId_Disp_HdrColorControl, out Disp_HdrColorControlInternal); GetDelegate(NvId_Disp_ColorControl, out Disp_ColorControlInternal); - /*GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternal); - GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternalNull); // null version of the submission*/ + GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternal); + GetDelegate(NvId_DISP_GetDisplayConfig, out DISP_GetDisplayConfigInternalNull); // null version of the submission GetDelegate(NvId_DISP_GetDisplayIdByDisplayName, out DISP_GetDisplayIdByDisplayNameInternal); + GetDelegate(NvId_DISP_EnumCustomDisplay, out Disp_EnumCustomDisplayInternal); // GPUs GetDelegate(NvId_EnumPhysicalGPUs, out EnumPhysicalGPUsInternal); @@ -3271,152 +3376,180 @@ namespace DisplayMagicianShared.NVIDIA // ******** IMPORTANT! This code has an error when attempting to perform the third pass as required by NVAPI documentation ********* // ******** FOr this reason I have disabled the code as I don't actually need to get it going. ******** - /* // NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig(__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo); - private delegate NVAPI_STATUS DISP_GetDisplayConfigDelegate( - [In][Out] ref UInt32 pathInfoCount, - [In][Out] IntPtr pathInfoBuffer); - private static readonly DISP_GetDisplayConfigDelegate DISP_GetDisplayConfigInternal; + // NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig(__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo); + private delegate NVAPI_STATUS DISP_GetDisplayConfigDelegate( + [In][Out] ref UInt32 pathInfoCount, + [In][Out] IntPtr pathInfoBuffer); + private static readonly DISP_GetDisplayConfigDelegate DISP_GetDisplayConfigInternal; - /// - /// DESCRIPTION: This API lets caller retrieve the current global display configuration. - /// USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: - /// First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. - /// Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch - /// targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. - /// Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect - // to number of targetInfoCount(from Second Pass). - /// SUPPORTED OS: Windows 7 and higher - /// - /// - /// - /// - public static NVAPI_STATUS NvAPI_DISP_GetDisplayConfig(ref UInt32 PathInfoCount, ref NV_DISPLAYCONFIG_PATH_INFO_V1[] PathInfos, bool partFilledIn = false) + /// + /// DESCRIPTION: This API lets caller retrieve the current global display configuration. + /// USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: + /// First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. + /// Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch + /// targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. + /// Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect + // to number of targetInfoCount(from Second Pass). + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + /// + public static NVAPI_STATUS NvAPI_DISP_GetDisplayConfig(ref UInt32 PathInfoCount, ref NV_DISPLAYCONFIG_PATH_INFO_V2[] PathInfos, bool thirdPass = false) + { + NVAPI_STATUS status; + IntPtr pathInfoBuffer = IntPtr.Zero; + IntPtr currentPathInfoBuffer = IntPtr.Zero; + if (thirdPass) + { + // Copy the supplied object for the third pass (when we have the pathInfoCount and the targetInfoCount for each pathInfo, but we want the details) + // Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect + //! to number of targetInfoCount(from Second Pass). + NV_DISPLAYCONFIG_PATH_INFO_V2[] passedPathInfo = PathInfos; + PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[PathInfoCount]; + // Go through the array and create the structure + int overallTargetCount = 0; + for (Int32 x = 0; x < (Int32)PathInfoCount; x++) { - NVAPI_STATUS status; - IntPtr pathInfoBuffer = IntPtr.Zero; - IntPtr currentPathInfoBuffer = IntPtr.Zero; - if (partFilledIn) - { - // Copy the supplied object for the third pass (when we have the pathInfoCount and the targetInfoCount for each pathInfo, but we want the details) - //NV_DISPLAYCONFIG_PATH_INFO_V1[] passedPathInfo = PathInfos; - //PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V1[PathInfoCount]; - // Go through the array and create the structure - int overallTargetCount = 0; - for (Int32 x = 0; x < (Int32)PathInfoCount; x++) - { - // Copy the information passed in, into the buffer we want to pass - //PathInfos[x].Version = MAKE_NVAPI_VERSION(Marshal.SizeOf(passedPathInfo[x]),1); - *//*PathInfos[x].SourceId = passedPathInfo[x].SourceId; - PathInfos[x].TargetInfoCount = passedPathInfo[x].TargetInfoCount; - PathInfos[x].TargetInfo = passedPathInfo[x].TargetInfo; - PathInfos[x].SourceModeInfo = = passedPathInfo[x].SourceModeInfo;*//* - overallTargetCount += (int)PathInfos[x].TargetInfoCount; - } - // Initialize unmanged memory to hold the unmanaged array of structs - int memorySizeRequired = Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_PATH_INFO_V1)) * (int)PathInfoCount; - pathInfoBuffer = Marshal.AllocCoTaskMem(memorySizeRequired); - // Also set another memory pointer to the same place so that we can do the memory copying item by item - // as we have to do it ourselves (there isn't an easy to use Marshal equivalent) - currentPathInfoBuffer = pathInfoBuffer; - // Go through the array and copy things from managed code to unmanaged code - for (Int32 x = 0; x < (Int32)PathInfoCount; x++) - { - // Marshal a single gridtopology into unmanaged code ready for sending to the unmanaged NVAPI function - Marshal.StructureToPtr(PathInfos[x], currentPathInfoBuffer, false); - // advance the buffer forwards to the next object - currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer + Marshal.SizeOf(PathInfos[x])); - } + // Copy the information passed in, into the buffer we want to pass - } - else - { - // Build a new blank object for the second pass (when we have the pathInfoCount, but want the targetInfoCount for each pathInfo) - // Build a managed structure for us to use as a data source for another object that the unmanaged NVAPI C library can use - PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V1[PathInfoCount]; - // Initialize unmanged memory to hold the unmanaged array of structs - pathInfoBuffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_PATH_INFO_V1)) * (int)PathInfoCount); - // Also set another memory pointer to the same place so that we can do the memory copying item by item - // as we have to do it ourselves (there isn't an easy to use Marshal equivalent) - currentPathInfoBuffer = pathInfoBuffer; - // Go through the array and copy things from managed code to unmanaged code - for (Int32 x = 0; x < (Int32)PathInfoCount; x++) - { - PathInfos[x].Version = MAKE_NVAPI_VERSION(Marshal.SizeOf(PathInfos[x]), 1); - PathInfos[x].SourceModeInfo = new NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1(); - // Marshal a single gridtopology into unmanaged code ready for sending to the unmanaged NVAPI function - Marshal.StructureToPtr(PathInfos[x], currentPathInfoBuffer, false); - // advance the buffer forwards to the next object - currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer + Marshal.SizeOf(PathInfos[x])); - } - } - - - if (DISP_GetDisplayConfigInternal != null) - { - // Use the unmanaged buffer in the unmanaged C call - status = DISP_GetDisplayConfigInternal(ref PathInfoCount, pathInfoBuffer); - - if (status == NVAPI_STATUS.NVAPI_OK) - { - // If everything worked, then copy the data back from the unmanaged array into the managed array - // So that we can use it in C# land - // Reset the memory pointer we're using for tracking where we are back to the start of the unmanaged memory buffer - currentPathInfoBuffer = pathInfoBuffer; - // Create a managed array to store the received information within - PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V1[PathInfoCount]; - // Go through the memory buffer item by item and copy the items into the managed array - for (int i = 0; i < PathInfoCount; i++) - { - // build a structure in the array slot - PathInfos[i] = new NV_DISPLAYCONFIG_PATH_INFO_V1(); - // fill the array slot structure with the data from the buffer - PathInfos[i] = (NV_DISPLAYCONFIG_PATH_INFO_V1)Marshal.PtrToStructure(currentPathInfoBuffer, typeof(NV_DISPLAYCONFIG_PATH_INFO_V1)); - // destroy the bit of memory we no longer need - Marshal.DestroyStructure(currentPathInfoBuffer, typeof(NV_DISPLAYCONFIG_PATH_INFO_V1)); - // advance the buffer forwards to the next object - currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer + Marshal.SizeOf(PathInfos[i])); - } - } - } - else - { - status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; - } - - Marshal.FreeCoTaskMem(pathInfoBuffer); - - return status; + PathInfos[x].SourceId = passedPathInfo[x].SourceId; + PathInfos[x].TargetInfoCount = passedPathInfo[x].TargetInfoCount; + PathInfos[x].TargetInfo = passedPathInfo[x].TargetInfo; + PathInfos[x].SourceModeInfo = passedPathInfo[x].SourceModeInfo; + overallTargetCount += (int)PathInfos[x].TargetInfoCount; + PathInfos[x].Version = MAKE_NVAPI_VERSION(Marshal.SizeOf(passedPathInfo[x]), 1); + } + // Initialize unmanged memory to hold the unmanaged array of structs + int memorySizeRequired = Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_PATH_INFO_V2)) * (int)PathInfoCount; + pathInfoBuffer = Marshal.AllocCoTaskMem(memorySizeRequired); + // Also set another memory pointer to the same place so that we can do the memory copying item by item + // as we have to do it ourselves (there isn't an easy to use Marshal equivalent) + currentPathInfoBuffer = pathInfoBuffer; + // Go through the array and copy things from managed code to unmanaged code + for (Int32 x = 0; x < (Int32)PathInfoCount; x++) + { + // Marshal a single gridtopology into unmanaged code ready for sending to the unmanaged NVAPI function + Marshal.StructureToPtr(PathInfos[x], currentPathInfoBuffer, false); + // advance the buffer forwards to the next object + currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer + Marshal.SizeOf(PathInfos[x])); } - // NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig(__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo); - // NvAPIMosaic_EnumDisplayGrids - private delegate NVAPI_STATUS DISP_GetDisplayConfigDelegateNull( - [In][Out] ref UInt32 pathInfoCount, - [In][Out] IntPtr pathInfoBuffer); - private static readonly DISP_GetDisplayConfigDelegateNull DISP_GetDisplayConfigInternalNull; - - /// - /// DESCRIPTION: This API lets caller retrieve the current global display configuration. - /// USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: - /// First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. - /// Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch - /// targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. - /// Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect - // to number of targetInfoCount(from Second Pass). - /// SUPPORTED OS: Windows 7 and higher - /// - /// - /// - public static NVAPI_STATUS NvAPI_DISP_GetDisplayConfig(ref UInt32 PathInfoCount) + } + else + { + // This is the second pass + // Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch + // targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. + // Build a new blank object for the second pass (when we have the pathInfoCount, but want the targetInfoCount for each pathInfo) + // Build a managed structure for us to use as a data source for another object that the unmanaged NVAPI C library can use + PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[PathInfoCount]; + // Prepare the struct for second pass duties + for (Int32 x = 0; x < (Int32)PathInfoCount; x++) { - NVAPI_STATUS status; - IntPtr pathInfos = IntPtr.Zero; + NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1 sourceMode = new NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1(); + IntPtr sourceModeBuffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1))); + Marshal.StructureToPtr(sourceMode, sourceModeBuffer, true); + PathInfos[x].Version = NVImport.NV_DISPLAYCONFIG_PATH_INFO_V2_VER; + PathInfos[x].SourceModeInfo = sourceModeBuffer; + /*PathInfos[x].SourceModeInfo.Resolution = new NV_RESOLUTION(); + PathInfos[x].SourceModeInfo.Position = new NV_POSITION(); + //PathInfos[x].SourceModeInfo = null; + PathInfos[x].TargetInfoCount = 0; + PathInfos[x].TargetInfo = IntPtr.Zero; + //!< This field is reserved. There is ongoing debate if we need this field. + //!< Identifies sourceIds used by Windows. If all sourceIds are 0, + //!< these will be computed automatically. + PathInfos[x].SourceId = 0; + PathInfos[x].Flags = 0; + PathInfos[x].OSAdapterID = new NV_LUID(); + //PathInfos[x].OSAdapterID = IntPtr.Zero;*/ + } + // Initialize unmanged memory to hold the unmanaged array of structs + int sizeOfOneStruct = Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_PATH_INFO_V2)); + int sizeOfAllStructs = sizeOfOneStruct * (int)PathInfoCount; + //int sizeOfOneStruct = Marshal.SizeOf(PathInfos); + pathInfoBuffer = Marshal.AllocCoTaskMem(sizeOfAllStructs); + // Also set another memory pointer to the same place so that we can do the memory copying item by item + // as we have to do it ourselves (there isn't an easy to use Marshal equivalent) + currentPathInfoBuffer = pathInfoBuffer; + // Go through the array and copy things from managed code to unmanaged code + for (Int32 x = 0; x < (Int32)PathInfoCount; x++) + { + // Marshal a single gridtopology into unmanaged code ready for sending to the unmanaged NVAPI function + Marshal.StructureToPtr(PathInfos[x], currentPathInfoBuffer, true); + // advance the buffer forwards to the next object + currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer.ToInt64() + Marshal.SizeOf(typeof(NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2))); + } + } - if (DISP_GetDisplayConfigInternalNull != null) { status = DISP_GetDisplayConfigInternalNull(ref PathInfoCount, pathInfos); } - else { status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; } - return status; - }*/ + if (DISP_GetDisplayConfigInternal != null) + { + // Use the unmanaged buffer in the unmanaged C call + status = DISP_GetDisplayConfigInternal(ref PathInfoCount, pathInfoBuffer); + + if (status == NVAPI_STATUS.NVAPI_OK) + { + // If everything worked, then copy the data back from the unmanaged array into the managed array + // So that we can use it in C# land + // Reset the memory pointer we're using for tracking where we are back to the start of the unmanaged memory buffer + currentPathInfoBuffer = pathInfoBuffer; + // Create a managed array to store the received information within + PathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[PathInfoCount]; + // Go through the memory buffer item by item and copy the items into the managed array + for (int i = 0; i < PathInfoCount; i++) + { + // build a structure in the array slot + PathInfos[i] = new NV_DISPLAYCONFIG_PATH_INFO_V2(); + // fill the array slot structure with the data from the buffer + PathInfos[i] = (NV_DISPLAYCONFIG_PATH_INFO_V2)Marshal.PtrToStructure(currentPathInfoBuffer, typeof(NV_DISPLAYCONFIG_PATH_INFO_V2)); + // destroy the bit of memory we no longer need + Marshal.DestroyStructure(currentPathInfoBuffer, typeof(NV_DISPLAYCONFIG_PATH_INFO_V2)); + // advance the buffer forwards to the next object + currentPathInfoBuffer = (IntPtr)((long)currentPathInfoBuffer + Marshal.SizeOf(PathInfos[i])); + } + } + } + else + { + status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; + } + + Marshal.FreeCoTaskMem(pathInfoBuffer); + + return status; + } + + // NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig(__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo); + // NvAPIMosaic_EnumDisplayGrids + private delegate NVAPI_STATUS DISP_GetDisplayConfigDelegateNull( + [In][Out] ref UInt32 pathInfoCount, + [In][Out] IntPtr pathInfoBuffer); + private static readonly DISP_GetDisplayConfigDelegateNull DISP_GetDisplayConfigInternalNull; + + /// + /// DESCRIPTION: This API lets caller retrieve the current global display configuration. + /// USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: + /// First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. + /// Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch + /// targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. + /// Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect + // to number of targetInfoCount(from Second Pass). + /// SUPPORTED OS: Windows 7 and higher + /// + /// + /// + public static NVAPI_STATUS NvAPI_DISP_GetDisplayConfig(ref UInt32 PathInfoCount) + { + NVAPI_STATUS status; + IntPtr pathInfos = IntPtr.Zero; + + if (DISP_GetDisplayConfigInternalNull != null) { status = DISP_GetDisplayConfigInternalNull(ref PathInfoCount, pathInfos); } + else { status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; } + + return status; + } // NVAPI_INTERFACE NvAPI_DISP_GetDisplayIdByDisplayName(const char *displayName, NvU32* displayId); @@ -4173,6 +4306,28 @@ namespace DisplayMagicianShared.NVIDIA return status; } + //NVAPI_INTERFACE NvAPI_DISP_EnumCustomDisplay(__in NvU32 displayId, __inout NV_HDR_CAPABILITIES *pHdrCapabilities); + private delegate NVAPI_STATUS Disp_EnumCustomDisplayDelegate( + [In] UInt32 displayId, + [In] UInt32 index, + [In][Out] ref NV_CUSTOM_DISPLAY_V1 pCustDisp); + private static readonly Disp_EnumCustomDisplayDelegate Disp_EnumCustomDisplayInternal; + /// + //! This API gets High Dynamic Range (HDR) capabilities of the display. + /// + /// + /// + public static NVAPI_STATUS NvAPI_DISP_EnumCustomDisplay(UInt32 displayId, UInt32 index, ref NV_CUSTOM_DISPLAY_V1 pCustDisp) + { + NVAPI_STATUS status; + pCustDisp.Version = NVImport.NV_CUSTOM_DISPLAY_V1_VER; + pCustDisp.SourcePartition = new NV_VIEWPORTF(0, 0, 1, 1); + if (Disp_EnumCustomDisplayInternal != null) { status = Disp_EnumCustomDisplayInternal(displayId, index, ref pCustDisp); } + else { status = NVAPI_STATUS.NVAPI_FUNCTION_NOT_FOUND; } + + return status; + } + //NVAPI_INTERFACE NvAPI_GPU_GetFullName(NvPhysicalGpuHandle hPhysicalGpu, NvAPI_ShortString szName); private delegate NVAPI_STATUS GPU_GetFullNameDelegate( [In] PhysicalGpuHandle gpuHandle, diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 8475386..14e85e1 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -51,8 +51,8 @@ namespace DisplayMagicianShared.NVIDIA [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_HDR_CONFIG : IEquatable { - public Dictionary HdrCapabilities; - public Dictionary HdrColorData; + public Dictionary HdrCapabilities; + public Dictionary HdrColorData; public bool IsNvHdrEnabled; public override bool Equals(object obj) => obj is NVIDIA_HDR_CONFIG other && this.Equals(other); @@ -73,7 +73,7 @@ namespace DisplayMagicianShared.NVIDIA [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_COLOR_CONFIG : IEquatable { - public Dictionary ColorData; + public Dictionary ColorData; public override bool Equals(object obj) => obj is NVIDIA_COLOR_CONFIG other && this.Equals(other); public bool Equals(NVIDIA_COLOR_CONFIG other) @@ -88,7 +88,7 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); } - [StructLayout(LayoutKind.Sequential)] + /*[StructLayout(LayoutKind.Sequential)] public struct NVIDIA_CUSTOM_DISPLAY_CONFIG : IEquatable { public List CustomDisplay; @@ -104,8 +104,7 @@ namespace DisplayMagicianShared.NVIDIA public static bool operator ==(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); public static bool operator !=(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => !(lhs == rhs); - } - + }*/ [StructLayout(LayoutKind.Sequential)] public struct NVIDIA_DISPLAY_CONFIG : IEquatable @@ -113,12 +112,12 @@ namespace DisplayMagicianShared.NVIDIA public NVIDIA_MOSAIC_CONFIG MosaicConfig; public NVIDIA_HDR_CONFIG HdrConfig; public NVIDIA_COLOR_CONFIG ColorConfig; - public Dictionary CustomDisplays; + public Dictionary> CustomDisplays; public List DisplayConfigs; // Note: We purposely have left out the DisplayNames from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. - public Dictionary DisplayNames; + public Dictionary DisplayNames; public List DisplayIdentifiers; public override bool Equals(object obj) => obj is NVIDIA_DISPLAY_CONFIG other && this.Equals(other); @@ -127,13 +126,13 @@ namespace DisplayMagicianShared.NVIDIA => MosaicConfig.Equals(other.MosaicConfig) && HdrConfig.Equals(other.HdrConfig) && ColorConfig.Equals(other.ColorConfig) && - //CustomDisplays.SequenceEqual(other.CustomDisplays) && - //DisplayConfigs.SequenceEqual(other.DisplayConfigs) && + CustomDisplays.SequenceEqual(other.CustomDisplays) && + DisplayConfigs.SequenceEqual(other.DisplayConfigs) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() { - return (MosaicConfig, HdrConfig, DisplayIdentifiers, DisplayNames).GetHashCode(); + return (MosaicConfig, HdrConfig, CustomDisplays, DisplayConfigs, DisplayIdentifiers, DisplayNames).GetHashCode(); } public static bool operator ==(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); @@ -274,12 +273,12 @@ namespace DisplayMagicianShared.NVIDIA myDefaultConfig.MosaicConfig.MosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[0]; myDefaultConfig.MosaicConfig.MosaicViewports = new List(); - myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); - myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); - myDefaultConfig.ColorConfig.ColorData = new Dictionary(); - myDefaultConfig.CustomDisplays = new Dictionary(); + myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); + myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); + myDefaultConfig.ColorConfig.ColorData = new Dictionary(); + myDefaultConfig.CustomDisplays = new Dictionary>(); myDefaultConfig.DisplayConfigs = new List(); - myDefaultConfig.DisplayNames = new Dictionary(); + myDefaultConfig.DisplayNames = new Dictionary(); myDefaultConfig.DisplayIdentifiers = new List(); return myDefaultConfig; @@ -547,6 +546,126 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is NOT possible."); } + // Now we try to get the NVIDIA Windows Display Config. This is needed for handling some of the advanced scaling settings that some advanced users make use of + /////////////////////////////////////////////////////////////////////////////// + // FUNCTION NAME: NvAPI_DISP_GetDisplayConfig + // + //! DESCRIPTION: This API lets caller retrieve the current global display + //! configuration. + //! USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: + //! First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. + //! Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch + //! targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. + //! Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect + //! to number of targetInfoCount(from Second Pass). + //! SUPPORTED OS: Windows 7 and higher + // First pass: Figure out how many pathInfo objects there are + List allDisplayConfigs = new List(); + + /*uint pathInfoCount = 0; + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount > 0) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on first pass. We know we have {pathInfoCount} pathInfo objects to get"); + // Second pass: Now get the number of targetInfoCount for each returned pathInfoCount object + NV_DISPLAYCONFIG_PATH_INFO_V2[] pathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[pathInfoCount]; + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on second pass."); + // Third pass: Now we send the same partially filled object back in a third time to get the target information + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos, true); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + + } + else if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount == 0) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The call was successful but no display paths were found. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more arguments passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + }*/ // We want to get the primary monitor NVStatus = NVImport.NvAPI_DISP_GetGDIPrimaryDisplayId(out UInt32 primaryDisplayId); @@ -577,7 +696,7 @@ namespace DisplayMagicianShared.NVIDIA } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting primary display id! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); } // We want to get the number of displays we have @@ -589,31 +708,31 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayCount, 0); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetGDIPrimaryDisplayId returned OK. We have {displayCount} physical GPUs"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on first pass. We have {displayCount} physical GPUs"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); } if (displayCount > 0) @@ -623,42 +742,40 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayIds, ref displayCount, 0); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK. We have {displayCount} physical GPUs"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on second pass. We have {displayCount} physical GPUs"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); } else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); } else { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus} on second pass."); } // Time to get the color settings, HDR capabilities and settings for each display bool isNvHdrEnabled = false; - Dictionary allHdrCapabilities = new Dictionary(); - Dictionary allHdrColorData = new Dictionary(); - Dictionary allColorData = new Dictionary(); - Dictionary allCustomDisplays = new Dictionary(); - List allDisplayConfigs = new List(); - + Dictionary allHdrCapabilities = new Dictionary(); + Dictionary allHdrColorData = new Dictionary(); + Dictionary allColorData = new Dictionary(); + Dictionary> allCustomDisplays = new Dictionary>(); for (int displayIndex = 0; displayIndex < displayCount; displayIndex++) { if (allDisplays) @@ -686,7 +803,7 @@ namespace DisplayMagicianShared.NVIDIA if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - allColorData.Add(displayIds[displayIndex].DisplayId, colorData); + allColorData.Add(displayIds[displayIndex].DisplayId.ToString(), colorData); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { @@ -773,7 +890,7 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support Driver Expanded Default HDR Parameters "); } - allHdrCapabilities.Add(displayIds[displayIndex].DisplayId, hdrCapabilities); + allHdrCapabilities.Add(displayIds[displayIndex].DisplayId.ToString(), hdrCapabilities); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { @@ -811,7 +928,7 @@ namespace DisplayMagicianShared.NVIDIA { isNvHdrEnabled = true; } - allHdrColorData.Add(displayIds[displayIndex].DisplayId, hdrColorData); + allHdrColorData.Add(displayIds[displayIndex].DisplayId.ToString(), hdrColorData); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { @@ -837,9 +954,66 @@ namespace DisplayMagicianShared.NVIDIA { SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); } + + + // TEMPORARILY DISABLING THE CUSTOM DISPLAY CODE FOR NOW, AS NOT SURE WHAT NVIDIA SETTINGS IT TRACKS + // KEEPING IT IN CASE I NEED IT FOR LATER. I ORIGINALLY THOUGHT THAT IS WHERE INTEGER SCALING SETTINGS LIVED< BUT WAS WRONG + /*// Now we get the Custom Display settings of the display (if there are any) + //NVIDIA_CUSTOM_DISPLAY_CONFIG customDisplayConfig = new NVIDIA_CUSTOM_DISPLAY_CONFIG(); + List customDisplayConfig = new List(); + for (UInt32 d = 0; d < UInt32.MaxValue; d++) + { + NV_CUSTOM_DISPLAY_V1 customDisplay = new NV_CUSTOM_DISPLAY_V1(); + NVStatus = NVImport.NvAPI_DISP_EnumCustomDisplay(displayIds[displayIndex].DisplayId, d, ref customDisplay); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_EnumCustomDisplay returned OK. Custom Display settings retrieved."); + customDisplayConfig.Add(customDisplay); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_END_ENUMERATION) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: We've reached the end of the list of Custom Displays. Breaking the polling loop."); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The supplied struct is incompatible. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); + break; + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while enumerating the custom displays! NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); + break; + } + + } + if (customDisplayConfig.Count > 0) + { + allCustomDisplays.Add(displayIds[displayIndex].DisplayId, customDisplayConfig); + }*/ } - // Store the information + // Store the HDR information myDisplayConfig.HdrConfig.IsNvHdrEnabled = isNvHdrEnabled; myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; @@ -853,7 +1027,7 @@ namespace DisplayMagicianShared.NVIDIA // Now we need to loop through each of the windows paths so we can record the Windows DisplayName to DisplayID mapping // This is needed for us to piece together the Screen layout for when we draw the NVIDIA screens! - myDisplayConfig.DisplayNames = new Dictionary(); + myDisplayConfig.DisplayNames = new Dictionary(); foreach (KeyValuePair> displaySource in WinLibrary.GetDisplaySourceNames()) { // Now we try to get the information about the displayIDs and map them to windows \\DISPLAY names e.g. \\DISPLAY1 @@ -863,7 +1037,7 @@ namespace DisplayMagicianShared.NVIDIA if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayIdByDisplayName returned OK. The display {displayName} has NVIDIA DisplayID {displayId}"); - myDisplayConfig.DisplayNames.Add(displayId, displayName); + myDisplayConfig.DisplayNames.Add(displayId.ToString(), displayName); } else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) { @@ -1023,7 +1197,7 @@ namespace DisplayMagicianShared.NVIDIA // Start printing out things stringToReturn += $"\n****** NVIDIA COLOR CONFIG *******\n"; - foreach (KeyValuePair colorData in displayConfig.ColorConfig.ColorData) + foreach (KeyValuePair colorData in displayConfig.ColorConfig.ColorData) { string displayId = colorData.Key.ToString(); stringToReturn += $"Display {displayId} BPC is {colorData.Value.Bpc.ToString("G")}.\n"; @@ -1052,7 +1226,7 @@ namespace DisplayMagicianShared.NVIDIA stringToReturn += $"There are no NVIDIA HDR devices in use.\n"; } - foreach (KeyValuePair hdrCapabilityItem in displayConfig.HdrConfig.HdrCapabilities) + foreach (KeyValuePair hdrCapabilityItem in displayConfig.HdrConfig.HdrCapabilities) { string displayId = hdrCapabilityItem.Key.ToString(); if (hdrCapabilityItem.Value.IsDolbyVisionSupported) @@ -1117,6 +1291,176 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; + // Remove any custom NVIDIA Colour settings + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) + { + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + string displayId = colorDataDict.Key; + try + { + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); + + if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off prior NVIDIA Color Settings."); + continue; + } + + // If this is a setting that says it will use default windows colour settings, then we turn it off + if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + } + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA specific colour settings for display {displayId}."); + } + } + + // Remove any custom NVIDIA HDR Colour settings + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) + { + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + string displayId = hdrColorDataDict.Key; + + try + { + + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); + + if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off HDR."); + continue; + } + + // if it's not an HDR then we turn off HDR + if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } + + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); + } + + } + // We want to check the NVIDIA Surround (Mosaic) config is valid SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Testing whether the display configuration is valid"); // @@ -1250,280 +1594,173 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); - // Now we try to set each display color - foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) - { - NV_COLOR_DATA_V5 colorData = colorDataDict.Value; - UInt32 displayId = colorDataDict.Key; - - // If this is a setting that says it will use default windows colour settings, then we turn it off - if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - colorData = displayConfig.ColorConfig.ColorData[displayId]; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); - - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); - } - } - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); - // Now we try to set each display color - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) - { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - UInt32 displayId = hdrColorDataDict.Key; - - // if it's not an HDR then we turn off HDR - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); - } - - } - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on colour if it's user set colour."); // Now we try to set each display color foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) { NV_COLOR_DATA_V5 colorData = colorDataDict.Value; - UInt32 displayId = colorDataDict.Key; - - // If this is a setting that says it uses user colour settings, then we turn it off - if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + string displayId = colorDataDict.Key; + try { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - colorData = displayConfig.ColorConfig.ColorData[displayId]; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); - - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the NVIDIA Color Settings."); + continue; + } + + // If this is a setting that says it uses user colour settings, then we turn it off + if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && + ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); } } - else + catch (Exception ex) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on NVIDIA custom colour settings for display {displayId}."); } } + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on NVIDIA HDR colour if it's user wants to use NVIDIA HDR colour."); // Now we try to set each display color foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - UInt32 displayId = hdrColorDataDict.Key; + string displayId = hdrColorDataDict.Key; - // if it's HDR and it's a different mode than what we are in now, then set HDR - if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && - ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + try { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); + + if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the HdrColorData."); + continue; } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + + // if it's HDR and it's a different mode than what we are in now, then set HDR + if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && + ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA HDR if needed for display {displayId} and that currently isn't required. Skipping changing NVIDIA HDR mode."); } } - else + catch (Exception ex) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA HDR if needed for display {displayId} and that currently isn't required. Skipping changing NVIDIA HDR mode."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on custom NVIDIA HDR colour settings for display {displayId}."); } } + } else { @@ -2195,7 +2432,7 @@ namespace DisplayMagicianShared.NVIDIA if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"NVIDIALibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } } diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 8b65ffa..c5f8d6f 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -1017,33 +1017,84 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Testing whether the display configuration is valid"); - // Test whether a specified display configuration is supported on the computer uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; + /*SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Testing whether the display configuration is valid"); + // Test whether a specified display configuration is supported on the computer + // Note: THe flags are different as we cannot use SDC_FORCE_MODE_ENUMERATION unless we're actually applying the config WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_VALIDATE); if (err == WIN32STATUS.ERROR_SUCCESS) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully validated that the display configuration supplied would work!"); } - else + else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - SetDisplayConfig couldn't validate the display configuration supplied. This display configuration won't work if applied."); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. This display configuration won't work if applied."); return false; } - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Yay! The display configuration is valid! Attempting to set the Display Config now"); + else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. This display configuration won't work if applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. This display configuration won't work if applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_GEN_FAILURE) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. This display configuration won't work if applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. This display configuration won't work if applied."); + return false; + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: SetDisplayConfig couldn't validate the display configuration supplied. This display configuration won't work if applied."); + return false; + } + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Yay! The display configuration is valid! Attempting to set the Display Config now");*/ // Now set the specified display configuration for this computer - err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); + WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); if (err == WIN32STATUS.ERROR_SUCCESS) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully set the display configuration to the settings supplied!"); } + else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_GEN_FAILURE) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); + return false; + } else { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - SetDisplayConfig couldn't set the display configuration using the settings supplied. Something is wrong."); - throw new WinLibraryException($"SetDisplayConfig couldn't set the display configuration using the settings supplied. Something is wrong."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: SetDisplayConfig couldn't set the display configuration using the settings supplied. Display configuration not applied."); + return false; } SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! The display configuration has been successfully applied"); @@ -1445,7 +1496,7 @@ namespace DisplayMagicianShared.Windows if (!displayIdentifiers.Contains(displayIdentifier)) { displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"WinLibrary/GetSomeDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } } From 6f1721342f24c030bb133e510563eb510221b45c Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 13 Nov 2021 21:28:25 +1300 Subject: [PATCH 101/112] Updated NVIDIALibrary with the latest version This version hopefully fixes the issues when returning from surround profiles to non-surround profiles. --- DisplayMagicianShared/Windows/WinLibrary.cs | 3431 ++++++++++++------- 1 file changed, 2147 insertions(+), 1284 deletions(-) diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index c5f8d6f..2740262 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -6,82 +6,150 @@ using System.Text; using Microsoft.Win32.SafeHandles; using DisplayMagicianShared; using System.ComponentModel; -using System.Text.RegularExpressions; -using System.Collections.Generic; +using DisplayMagicianShared.Windows; +using EDIDParser; +using System.Threading.Tasks; -namespace DisplayMagicianShared.Windows +namespace DisplayMagicianShared.NVIDIA { - [StructLayout(LayoutKind.Sequential)] - public struct ADVANCED_HDR_INFO_PER_PATH : IEquatable - { - public LUID AdapterId; - public uint Id; - public DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO AdvancedColorInfo; - public DISPLAYCONFIG_SDR_WHITE_LEVEL SDRWhiteLevel; - public override bool Equals(object obj) => obj is ADVANCED_HDR_INFO_PER_PATH other && this.Equals(other); - public bool Equals(ADVANCED_HDR_INFO_PER_PATH other) - => // AdapterId.Equals(other.AdapterId) && // Removed the AdapterId from the Equals, as it changes after reboot. - //Id == other.Id && // Removed the ID too, as that changes if the user has a Clone! - AdvancedColorInfo.Equals(other.AdvancedColorInfo) && - SDRWhiteLevel.Equals(other.SDRWhiteLevel); + [StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_MOSAIC_CONFIG : IEquatable + { + public bool IsMosaicEnabled; + public NV_MOSAIC_TOPO_BRIEF MosaicTopologyBrief; + public NV_MOSAIC_DISPLAY_SETTING_V2 MosaicDisplaySettings; + public Int32 OverlapX; + public Int32 OverlapY; + public NV_MOSAIC_GRID_TOPO_V2[] MosaicGridTopos; + public UInt32 MosaicGridCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = (Int32)NVImport.NV_MOSAIC_MAX_DISPLAYS)] + public List MosaicViewports; + public UInt32 PrimaryDisplayId; + + public override bool Equals(object obj) => obj is NVIDIA_MOSAIC_CONFIG other && this.Equals(other); + + public bool Equals(NVIDIA_MOSAIC_CONFIG other) + => IsMosaicEnabled == other.IsMosaicEnabled && + MosaicTopologyBrief.Equals(other.MosaicTopologyBrief) && + MosaicDisplaySettings.Equals(other.MosaicDisplaySettings) && + OverlapX == other.OverlapX && + OverlapY == other.OverlapY && + MosaicGridTopos.SequenceEqual(other.MosaicGridTopos) && + MosaicGridCount == other.MosaicGridCount && + NVIDIALibrary.ListOfArraysEqual(MosaicViewports, other.MosaicViewports) && + PrimaryDisplayId == other.PrimaryDisplayId; + public override int GetHashCode() { - return (Id, AdvancedColorInfo, SDRWhiteLevel).GetHashCode(); + return (IsMosaicEnabled, MosaicTopologyBrief, MosaicDisplaySettings, OverlapX, OverlapY, MosaicGridTopos, MosaicGridCount, MosaicViewports, PrimaryDisplayId).GetHashCode(); } + public static bool operator ==(NVIDIA_MOSAIC_CONFIG lhs, NVIDIA_MOSAIC_CONFIG rhs) => lhs.Equals(rhs); - public static bool operator ==(ADVANCED_HDR_INFO_PER_PATH lhs, ADVANCED_HDR_INFO_PER_PATH rhs) => lhs.Equals(rhs); - - public static bool operator !=(ADVANCED_HDR_INFO_PER_PATH lhs, ADVANCED_HDR_INFO_PER_PATH rhs) => !(lhs == rhs); + public static bool operator !=(NVIDIA_MOSAIC_CONFIG lhs, NVIDIA_MOSAIC_CONFIG rhs) => !(lhs == rhs); } [StructLayout(LayoutKind.Sequential)] - public struct WINDOWS_DISPLAY_CONFIG : IEquatable + public struct NVIDIA_HDR_CONFIG : IEquatable { - public Dictionary DisplayAdapters; - public DISPLAYCONFIG_PATH_INFO[] DisplayConfigPaths; - public DISPLAYCONFIG_MODE_INFO[] DisplayConfigModes; - public ADVANCED_HDR_INFO_PER_PATH[] DisplayHDRStates; - public Dictionary GdiDisplaySettings; - public bool IsCloned; - // Note: We purposely have left out the DisplaySources from the Equals as it's order keeps changing after each reboot and after each profile swap + public Dictionary HdrCapabilities; + public Dictionary HdrColorData; + public bool IsNvHdrEnabled; + + public override bool Equals(object obj) => obj is NVIDIA_HDR_CONFIG other && this.Equals(other); + public bool Equals(NVIDIA_HDR_CONFIG other) + => HdrCapabilities.SequenceEqual(other.HdrCapabilities) && + HdrColorData.SequenceEqual(other.HdrColorData) && + IsNvHdrEnabled == other.IsNvHdrEnabled; + + public override int GetHashCode() + { + return (HdrCapabilities, HdrColorData, IsNvHdrEnabled).GetHashCode(); + } + public static bool operator ==(NVIDIA_HDR_CONFIG lhs, NVIDIA_HDR_CONFIG rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVIDIA_HDR_CONFIG lhs, NVIDIA_HDR_CONFIG rhs) => !(lhs == rhs); + } + + [StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_COLOR_CONFIG : IEquatable + { + public Dictionary ColorData; + + public override bool Equals(object obj) => obj is NVIDIA_COLOR_CONFIG other && this.Equals(other); + public bool Equals(NVIDIA_COLOR_CONFIG other) + => ColorData.SequenceEqual(other.ColorData); + + public override int GetHashCode() + { + return (ColorData).GetHashCode(); + } + public static bool operator ==(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); + } + + /*[StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_CUSTOM_DISPLAY_CONFIG : IEquatable + { + public List CustomDisplay; + + public override bool Equals(object obj) => obj is NVIDIA_CUSTOM_DISPLAY_CONFIG other && this.Equals(other); + public bool Equals(NVIDIA_CUSTOM_DISPLAY_CONFIG other) + => CustomDisplay.SequenceEqual(other.CustomDisplay); + + public override int GetHashCode() + { + return (CustomDisplay).GetHashCode(); + } + public static bool operator ==(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); + + public static bool operator !=(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => !(lhs == rhs); + }*/ + + [StructLayout(LayoutKind.Sequential)] + public struct NVIDIA_DISPLAY_CONFIG : IEquatable + { + public NVIDIA_MOSAIC_CONFIG MosaicConfig; + public NVIDIA_HDR_CONFIG HdrConfig; + public NVIDIA_COLOR_CONFIG ColorConfig; + public Dictionary> CustomDisplays; + public List DisplayConfigs; + // Note: We purposely have left out the DisplayNames from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. - public Dictionary> DisplaySources; + public Dictionary DisplayNames; public List DisplayIdentifiers; - public override bool Equals(object obj) => obj is WINDOWS_DISPLAY_CONFIG other && this.Equals(other); - public bool Equals(WINDOWS_DISPLAY_CONFIG other) - => IsCloned == other.IsCloned && - DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && - DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && - DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && - // The dictionary keys sometimes change after returning from NVIDIA Surround, so we need to only focus on comparing the values of the GDISettings. - // Additionally, we had to disable the DEviceKey from the equality testing within the GDI library itself as that waould also change after changing back from NVIDIA surround - // This still allows us to detect when refresh rates change, which will allow DisplayMagician to detect profile differences. - GdiDisplaySettings.Values.SequenceEqual(other.GdiDisplaySettings.Values) && + public override bool Equals(object obj) => obj is NVIDIA_DISPLAY_CONFIG other && this.Equals(other); + + public bool Equals(NVIDIA_DISPLAY_CONFIG other) + => MosaicConfig.Equals(other.MosaicConfig) && + HdrConfig.Equals(other.HdrConfig) && + ColorConfig.Equals(other.ColorConfig) && + CustomDisplays.SequenceEqual(other.CustomDisplays) && + DisplayConfigs.SequenceEqual(other.DisplayConfigs) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() { - //return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings.Values, IsCloned, DisplayIdentifiers).GetHashCode(); - return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers).GetHashCode(); + return (MosaicConfig, HdrConfig, CustomDisplays, DisplayConfigs, DisplayIdentifiers, DisplayNames).GetHashCode(); } - public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); + public static bool operator ==(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); - public static bool operator !=(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => !(lhs == rhs); + public static bool operator !=(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => !(lhs == rhs); } - public class WinLibrary : IDisposable + public class NVIDIALibrary : IDisposable { // Static members are 'eagerly initialized', that is, // immediately when class is loaded for the first time. // .NET guarantees thread safety for static initialization - private static WinLibrary _instance = new WinLibrary(); + private static NVIDIALibrary _instance = new NVIDIALibrary(); private bool _initialised = false; - private WINDOWS_DISPLAY_CONFIG _activeDisplayConfig; + private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; // To detect redundant calls private bool _disposed = false; @@ -89,18 +157,53 @@ namespace DisplayMagicianShared.Windows // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); - static WinLibrary() { } - public WinLibrary() + static NVIDIALibrary() { } + public NVIDIALibrary() { - SharedLogger.logger.Trace("WinLibrary/WinLibrary: Intialising Windows CCD library interface"); - _initialised = true; - _activeDisplayConfig = GetActiveConfig(); + _activeDisplayConfig = CreateDefaultConfig(); + try + { + SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Attempting to load the NVIDIA NVAPI DLL"); + // Attempt to prelink all of the NVAPI functions + //Marshal.PrelinkAll(typeof(NVImport)); + + // If we get here then we definitely have the NVIDIA driver available. + NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; + SharedLogger.logger.Trace("NVIDIALibrary/NVIDIALibrary: Intialising NVIDIA NVAPI library interface"); + // Step 1: Initialise the NVAPI + try + { + if (NVImport.IsAvailable()) + { + _initialised = true; + SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library was initialised successfully"); + SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Running UpdateActiveConfig to ensure there is a config to use later"); + _activeDisplayConfig = GetActiveConfig(); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Error intialising NVIDIA NVAPI library. NvAPI_Initialize() returned error code {NVStatus}"); + } + + } + catch (Exception ex) + { + SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception intialising NVIDIA NVAPI library. NvAPI_Initialize() caused an exception."); + } + + } + catch (DllNotFoundException ex) + { + // If this fires, then the DLL isn't available, so we need don't try to do anything else + SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed."); + } + } - ~WinLibrary() + ~NVIDIALibrary() { - // The WinLibrary was initialised, but doesn't need to be freed. - SharedLogger.logger.Trace("WinLibrary/~WinLibrary: Destroying Windows CCD library interface"); + SharedLogger.logger.Trace("NVIDIALibrary/~NVIDIALibrary: Destroying NVIDIA NVAPI library interface"); + // The NVAPI library automatically runs NVAPI_Unload on Exit, so no need for anything here. } // Public implementation of Dispose pattern callable by consumers. @@ -116,6 +219,7 @@ namespace DisplayMagicianShared.Windows if (disposing) { + // Dispose managed state (managed objects). _safeHandle?.Dispose(); } @@ -132,7 +236,7 @@ namespace DisplayMagicianShared.Windows } } - public WINDOWS_DISPLAY_CONFIG ActiveDisplayConfig + public NVIDIA_DISPLAY_CONFIG ActiveDisplayConfig { get { @@ -148,1357 +252,2197 @@ namespace DisplayMagicianShared.Windows } } - public static WinLibrary GetLibrary() + public List PCIVendorIDs + { + get + { + return new List() { "10DE" }; + } + } + + public static NVIDIALibrary GetLibrary() { return _instance; } - public WINDOWS_DISPLAY_CONFIG CreateDefaultConfig() + public NVIDIA_DISPLAY_CONFIG CreateDefaultConfig() { - WINDOWS_DISPLAY_CONFIG myDefaultConfig = new WINDOWS_DISPLAY_CONFIG(); + NVIDIA_DISPLAY_CONFIG myDefaultConfig = new NVIDIA_DISPLAY_CONFIG(); // Fill in the minimal amount we need to avoid null references // so that we won't break json.net when we save a default config - myDefaultConfig.DisplayAdapters = new Dictionary(); - myDefaultConfig.DisplayConfigModes = new DISPLAYCONFIG_MODE_INFO[0]; - myDefaultConfig.DisplayConfigPaths = new DISPLAYCONFIG_PATH_INFO[0]; - myDefaultConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[0]; + myDefaultConfig.MosaicConfig.MosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[0]; + myDefaultConfig.MosaicConfig.MosaicViewports = new List(); + myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); + myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); + myDefaultConfig.ColorConfig.ColorData = new Dictionary(); + myDefaultConfig.CustomDisplays = new Dictionary>(); + myDefaultConfig.DisplayConfigs = new List(); + myDefaultConfig.DisplayNames = new Dictionary(); myDefaultConfig.DisplayIdentifiers = new List(); - myDefaultConfig.DisplaySources = new Dictionary>(); - myDefaultConfig.IsCloned = false; - myDefaultConfig.GdiDisplaySettings = new Dictionary(); return myDefaultConfig; } - private void PatchAdapterIDs(ref WINDOWS_DISPLAY_CONFIG savedDisplayConfig, Dictionary currentAdapterMap) - { - - Dictionary adapterOldToNewMap = new Dictionary(); - - SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to figure out the old adapterIDs"); - foreach (KeyValuePair savedAdapter in savedDisplayConfig.DisplayAdapters) - { - foreach (KeyValuePair currentAdapter in currentAdapterMap) - { - if (currentAdapter.Value.Equals(savedAdapter.Value)) - { - // we have found the new LUID Value for the same adapter - // So we want to store it - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: We found that saved adapter {savedAdapter.Key} has now been assigned adapter id {currentAdapter.Key} (AdapterName is {savedAdapter.Value})"); - adapterOldToNewMap.Add(savedAdapter.Key, currentAdapter.Key); - } - } - } - - ulong newAdapterValue = 0; - // Update the paths with the current adapter id - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config paths to update the adapter id"); - for (int i = 0; i < savedDisplayConfig.DisplayConfigPaths.Length; i++) - { - // Change the Path SourceInfo and TargetInfo AdapterIDs - if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value)) - { - // We get here if there is a matching adapter - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value]; - savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId.Value]; - savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); - } - else - { - // if there isn't a matching adapter, then we just pick the first current one and hope that works! - // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) - newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); - savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); - savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); - } - } - - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config modes to update the adapter id"); - // Update the modes with the current adapter id - for (int i = 0; i < savedDisplayConfig.DisplayConfigModes.Length; i++) - { - // Change the Mode AdapterID - if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value)) - { - // We get here if there is a matching adapter - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value]; - savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); - } - else - { - // if there isn't a matching adapter, then we just pick the first current one and hope that works! - // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) - newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); - savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); - } - } - - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config HDR info to update the adapter id"); - // Update the HDRInfo with the current adapter id - for (int i = 0; i < savedDisplayConfig.DisplayHDRStates.Length; i++) - { - // Change the Mode AdapterID - if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value)) - { - // We get here if there is a matching adapter - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value]; - savedDisplayConfig.DisplayHDRStates[i].AdapterId = AdapterValueToLUID(newAdapterValue); - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId.Value]; - savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); - newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId.Value]; - savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); - } - else - { - // if there isn't a matching adapter, then we just pick the first current one and hope that works! - // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) - newAdapterValue = currentAdapterMap.First().Key; - SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); - savedDisplayConfig.DisplayHDRStates[i].AdapterId = AdapterValueToLUID(newAdapterValue); - savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); - savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); - } - } - - } - public bool UpdateActiveConfig() { - SharedLogger.logger.Trace($"WinLibrary/UpdateActiveConfig: Updating the currently active config"); + SharedLogger.logger.Trace($"NVIDIALibrary/UpdateActiveConfig: Updating the currently active config"); try { _activeDisplayConfig = GetActiveConfig(); } catch (Exception ex) { - SharedLogger.logger.Trace(ex, $"WinLibrary/UpdateActiveConfig: Exception updating the currently active config"); + SharedLogger.logger.Trace(ex, $"NVIDIALibrary/UpdateActiveConfig: Exception updating the currently active config"); return false; } return true; } - public WINDOWS_DISPLAY_CONFIG GetActiveConfig() + public NVIDIA_DISPLAY_CONFIG GetActiveConfig() { - SharedLogger.logger.Trace($"WinLibrary/GetActiveConfig: Getting the currently active config"); - return GetWindowsDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS); + SharedLogger.logger.Trace($"NVIDIALibrary/GetActiveConfig: Getting the currently active config"); + bool allDisplays = false; + return GetNVIDIADisplayConfig(allDisplays); } - private WINDOWS_DISPLAY_CONFIG GetWindowsDisplayConfig(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) + private NVIDIA_DISPLAY_CONFIG GetNVIDIADisplayConfig(bool allDisplays = false) { - // Get the size of the largest Active Paths and Modes arrays - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); - int pathCount = 0; - int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + NVIDIA_DISPLAY_CONFIG myDisplayConfig = new NVIDIA_DISPLAY_CONFIG(); + + if (_initialised) { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - } - - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); - var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); - // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again - // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig - err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + // Enumerate all the Physical GPUs + PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NVAPI_MAX_PHYSICAL_GPUS]; + uint physicalGpuCount = 0; + NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - } - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); - paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); - } - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); - } - - // Prepare the empty windows display config - WINDOWS_DISPLAY_CONFIG windowsDisplayConfig = new WINDOWS_DISPLAY_CONFIG(); - windowsDisplayConfig.DisplayAdapters = new Dictionary(); - windowsDisplayConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; - windowsDisplayConfig.DisplaySources = new Dictionary>(); - windowsDisplayConfig.IsCloned = false; - - // First of all generate the current displayIdentifiers - windowsDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); - - // Next, extract the UID entries for the displays as that's what the Path IDs are normally supposed to be - // This is how we know the actual target id's ofd the monitors currently connected - Regex rx = new Regex(@"UID(?\d+)#", RegexOptions.Compiled | RegexOptions.IgnoreCase); - HashSet physicalTargetIdsToFind = new HashSet(); - foreach (string displayIdentifier in windowsDisplayConfig.DisplayIdentifiers) - { - MatchCollection mc = rx.Matches(displayIdentifier); - if (mc.Count > 0) - { - physicalTargetIdsToFind.Add(UInt32.Parse(mc[0].Groups["uid"].Value)); - } - } - - // Now cycle through the paths and grab the HDR state information - // and map the adapter name to adapter id - HashSet targetIdsToChange = new HashSet(); - var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; - int hdrInfoCount = 0; - for (int i = 0; i < paths.Length; i++) - { - // Figure out if this path has a physical targetId, and if it doesn't store it - if (!physicalTargetIdsToFind.Contains(paths[i].TargetInfo.Id)) - { - // Add to the list of physical path target ids we need to patch later - targetIdsToChange.Add(paths[i].TargetInfo.Id); - } - - // Track if this display is a cloned path - bool isClonedPath = false; - // get display source name - var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); - sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; - sourceInfo.Header.Size = (uint)Marshal.SizeOf(); - sourceInfo.Header.AdapterId = paths[i].SourceInfo.AdapterId; - sourceInfo.Header.Id = paths[i].SourceInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - // Store it for later - if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) - { - // We already have at least one display using this source, so we need to add the other cloned display to the existing list - windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(paths[i].SourceInfo.Id); - isClonedPath = true; - windowsDisplayConfig.IsCloned = true; - } - else - { - // This is the first display to use this source - List sourceIds = new List(); - sourceIds.Add(paths[i].SourceInfo.Id); - windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); - } - - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {paths[i].SourceInfo.Id}."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); } else { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{paths[i].SourceInfo.AdapterId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); } - // Check if this path is a cloned display path, and if so make some changes - // so that the cloned display will be applied properly - if (isClonedPath) + // Go through the Physical GPUs one by one + for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) { - // We need to make some modifications to this path so that we store as ready for being applied - // https://docs.microsoft.com/en-us/windows-hardware/drivers/display/ccd-example-code - paths[i].Flags |= DISPLAYCONFIG_PATH_FLAGS.DISPLAYCONFIG_PATH_ACTIVE; - paths[i].SourceInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; - paths[i].TargetInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; - } - - // Get adapter ID for later - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); - if (!windowsDisplayConfig.DisplayAdapters.ContainsKey(paths[i].TargetInfo.AdapterId.Value)) - { - var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); - adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; - adapterInfo.Header.Size = (uint)Marshal.SizeOf(); - adapterInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; - adapterInfo.Header.Id = paths[i].TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + //This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce) + uint quadroStatus = 0; + NVStatus = NVImport.NvAPI_GPU_GetQuadroStatus(physicalGpus[physicalGpuIndex], out quadroStatus); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - // Store it for later - windowsDisplayConfig.DisplayAdapters.Add(paths[i].TargetInfo.AdapterId.Value, adapterInfo.AdapterDevicePath); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found adapter name {adapterInfo.AdapterDevicePath} for adapter {paths[i].TargetInfo.AdapterId.Value}."); - } - else - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to query the adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); - } - } - - // Get advanced color info - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get advanced color info for display {paths[i].TargetInfo.Id}."); - var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); - colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; - colorInfo.Header.Size = (uint)Marshal.SizeOf(); - colorInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; - colorInfo.Header.Id = paths[i].TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found color info for display {paths[i].TargetInfo.Id}."); - if (colorInfo.AdvancedColorSupported) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is supported for display {paths[i].TargetInfo.Id}."); - } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT supported for display {paths[i].TargetInfo.Id}."); - } - if (colorInfo.AdvancedColorEnabled) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is enabled for display {paths[i].TargetInfo.Id}."); - } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT enabled for display {paths[i].TargetInfo.Id}."); - } - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {paths[i].TargetInfo.Id}."); - } - - // get SDR white levels - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get SDR white levels for adapter {paths[i].TargetInfo.AdapterId.Value}."); - var whiteLevelInfo = new DISPLAYCONFIG_SDR_WHITE_LEVEL(); - whiteLevelInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL; - whiteLevelInfo.Header.Size = (uint)Marshal.SizeOf(); - whiteLevelInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; - whiteLevelInfo.Header.Id = paths[i].TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref whiteLevelInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White levels for display {paths[i].TargetInfo.Id}."); - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get SDR White levels for display {paths[i].TargetInfo.Id}."); - } - - hdrInfos[hdrInfoCount] = new ADVANCED_HDR_INFO_PER_PATH(); - hdrInfos[hdrInfoCount].AdapterId = paths[i].TargetInfo.AdapterId; - hdrInfos[hdrInfoCount].Id = paths[i].TargetInfo.Id; - hdrInfos[hdrInfoCount].AdvancedColorInfo = colorInfo; - hdrInfos[hdrInfoCount].SDRWhiteLevel = whiteLevelInfo; - hdrInfoCount++; - } - - // Now we need to figure out the maps between the cloned ID and the real physical target id - // the Advanced color info structure actually holds this information! So lets mine it. - Dictionary targetIdMap = new Dictionary(); - foreach (var hdrInfo in hdrInfos) - { - targetIdMap[hdrInfo.Id] = hdrInfo.AdvancedColorInfo.Header.Id; - } - - // Now we need to go through the list of paths again and patch the 'cloned' displays with a real display ID so the config works - for (int i = 0; i < paths.Length; i++) - { - if (targetIdsToChange.Contains(paths[i].TargetInfo.Id)) - { - // Patch the cloned ids with a real working one! - paths[i].TargetInfo.Id = targetIdMap[paths[i].TargetInfo.Id]; - } - } - - // And then we need to go through the list of modes again and patch the 'cloned' displays with a real display ID so the display layout is right in cloned displays - for (int i = 0; i < modes.Length; i++) - { - // We only change the ids that match in InfoType for target displays - if (modes[i].InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET && targetIdsToChange.Contains(modes[i].Id)) - { - // Patch the cloned ids with a real working one! - modes[i].Id = targetIdMap[modes[i].Id]; - } - } - - // Store the active paths and modes in our display config object - windowsDisplayConfig.DisplayConfigPaths = paths; - windowsDisplayConfig.DisplayConfigModes = modes; - windowsDisplayConfig.DisplayHDRStates = hdrInfos; - windowsDisplayConfig.GdiDisplaySettings = GetGdiDisplaySettings(); - - return windowsDisplayConfig; - } - - public Dictionary GetGdiDisplaySettings() - { - // Get the list of all display adapters in this machine through GDI - Dictionary gdiDeviceSettings = new Dictionary(); - Dictionary gdiDeviceSources = new Dictionary(); - UInt32 displayDeviceNum = 0; - DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); - displayDevice.Size = (UInt32)Marshal.SizeOf(); - while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) - { - // Now we try and grab the GDI Device Settings for each display device - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); - if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) - { - // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display - // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); - DEVICE_MODE currentMode = new DEVICE_MODE(); - currentMode.Size = (UInt16)Marshal.SizeOf(); - bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); - if (gdiWorked) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); - GDI_DISPLAY_SETTING myDisplaySetting = new GDI_DISPLAY_SETTING(); - myDisplaySetting.IsEnabled = true; // Always true if we get here - myDisplaySetting.Device = displayDevice; - myDisplaySetting.DeviceMode = currentMode; - if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)) + if (quadroStatus == 0) { - // This is a primary device, so we'll set that too. - myDisplaySetting.IsPrimary = true; + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the GeForce range"); + } + else if (quadroStatus == 1) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the Quadro range"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is neither a GeForce or Quadro range vodeo card (QuadroStatus = {quadroStatus})"); } - gdiDeviceSettings[displayDevice.DeviceKey] = myDisplaySetting; - gdiDeviceSources[displayDevice.DeviceName] = displayDevice.DeviceKey; } else { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting Quadro status. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); } } + + // Get current Mosaic Topology settings in brief (check whether Mosaic is on) + NV_MOSAIC_TOPO_BRIEF mosaicTopoBrief = new NV_MOSAIC_TOPO_BRIEF(); + NV_MOSAIC_DISPLAY_SETTING_V2 mosaicDisplaySettings = new NV_MOSAIC_DISPLAY_SETTING_V2(); + int mosaicOverlapX = 0; + int mosaicOverlapY = 0; + NVStatus = NVImport.NvAPI_Mosaic_GetCurrentTopo(ref mosaicTopoBrief, ref mosaicDisplaySettings, out mosaicOverlapX, out mosaicOverlapY); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } else { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); } - displayDeviceNum++; - } - return gdiDeviceSettings; - } - - public static Dictionary> GetDisplaySourceNames() - { - // Get the size of the largest Active Paths and Modes arrays - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); - int pathCount = 0; - int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - } - - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); - var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); - // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again - // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig - err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + // Check if there is a topology and that Mosaic is enabled + if (mosaicTopoBrief.Topo != NV_MOSAIC_TOPO.TOPO_NONE && mosaicTopoBrief.Enabled == 1) { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - } - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); - paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); - } - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); - } + // Mosaic is enabled! + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is enabled."); + myDisplayConfig.MosaicConfig.MosaicTopologyBrief = mosaicTopoBrief; + myDisplayConfig.MosaicConfig.MosaicDisplaySettings = mosaicDisplaySettings; + myDisplayConfig.MosaicConfig.OverlapX = mosaicOverlapX; + myDisplayConfig.MosaicConfig.OverlapY = mosaicOverlapY; + myDisplayConfig.MosaicConfig.IsMosaicEnabled = true; - // Prepare the empty DisplaySources dictionary - Dictionary> DisplaySources = new Dictionary>(); - - // Now cycle through the paths and grab the HDR state information - // and map the adapter name to adapter id - var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; - int hdrInfoCount = 0; - foreach (var path in paths) - { - // get display source name - var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); - sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; - sourceInfo.Header.Size = (uint)Marshal.SizeOf(); - sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; - sourceInfo.Header.Id = path.SourceInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - // Store it for later - //DisplaySources.Add(sourceInfo.ViewGdiDeviceName, path.SourceInfo.Id); - if (DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) + // Get more Mosaic Topology detailed settings + NV_MOSAIC_TOPO_GROUP mosaicTopoGroup = new NV_MOSAIC_TOPO_GROUP(); + NVStatus = NVImport.NvAPI_Mosaic_GetTopoGroup(ref mosaicTopoBrief, ref mosaicTopoGroup); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - // We want to add another cloned display - DisplaySources[sourceInfo.ViewGdiDeviceName].Add(path.SourceInfo.Id); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetTopoGroup returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The version of the structure passed in is not supported by this driver. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); } else { - // We want to create a new list entry if there isn't one already there. - DisplaySources.Add(sourceInfo.ViewGdiDeviceName, new List { path.SourceInfo.Id }); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); } - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); + // Figure out how many Mosaic Grid topoligies there are + uint mosaicGridCount = 0; + NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); + } + + // Get Current Mosaic Grid settings using the Grid topologies fnumbers we got before + NV_MOSAIC_GRID_TOPO_V2[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[mosaicGridCount]; + NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridTopos, ref mosaicGridCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_EnumDisplayGrids returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); + } + + myDisplayConfig.MosaicConfig.MosaicGridTopos = mosaicGridTopos; + myDisplayConfig.MosaicConfig.MosaicGridCount = mosaicGridCount; + + List allViewports = new List(); + foreach (NV_MOSAIC_GRID_TOPO_V2 gridTopo in mosaicGridTopos) + { + // Get Current Mosaic Grid settings using the Grid topologies numbers we got before + NV_RECT[] viewports = new NV_RECT[NVImport.NV_MOSAIC_MAX_DISPLAYS]; + byte bezelCorrected = 0; + NVStatus = NVImport.NvAPI_Mosaic_GetDisplayViewportsByResolution(gridTopo.Displays[0].DisplayId, 0, 0, ref viewports, ref bezelCorrected); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetDisplayViewportsByResolution returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_MOSAIC_NOT_ACTIVE) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The requested action cannot be performed without Mosaic being enabled. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); + } + // Save the viewports to the List + allViewports.Add(viewports); + + } + + myDisplayConfig.MosaicConfig.MosaicViewports = allViewports; } else { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{path.SourceInfo.AdapterId}"); + // Mosaic isn't enabled + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is NOT enabled."); + myDisplayConfig.MosaicConfig.MosaicTopologyBrief = mosaicTopoBrief; + myDisplayConfig.MosaicConfig.IsMosaicEnabled = false; + myDisplayConfig.MosaicConfig.MosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[] { }; + myDisplayConfig.MosaicConfig.MosaicViewports = new List(); } + // Check if Mosaic is possible and log that so we know if troubleshooting bugs + if (mosaicTopoBrief.IsPossible == 1) + { + // Mosaic is possible! + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is possible. Mosaic topology would be {mosaicTopoBrief.Topo.ToString("G")}."); + } + else + { + // Mosaic isn't possible + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is NOT possible."); + } + + // Now we try to get the NVIDIA Windows Display Config. This is needed for handling some of the advanced scaling settings that some advanced users make use of + /////////////////////////////////////////////////////////////////////////////// + // FUNCTION NAME: NvAPI_DISP_GetDisplayConfig + // + //! DESCRIPTION: This API lets caller retrieve the current global display + //! configuration. + //! USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: + //! First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. + //! Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch + //! targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. + //! Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect + //! to number of targetInfoCount(from Second Pass). + //! SUPPORTED OS: Windows 7 and higher + // First pass: Figure out how many pathInfo objects there are + List allDisplayConfigs = new List(); + + /*uint pathInfoCount = 0; + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount > 0) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on first pass. We know we have {pathInfoCount} pathInfo objects to get"); + // Second pass: Now get the number of targetInfoCount for each returned pathInfoCount object + NV_DISPLAYCONFIG_PATH_INFO_V2[] pathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[pathInfoCount]; + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on second pass."); + // Third pass: Now we send the same partially filled object back in a third time to get the target information + NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos, true); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); + } + + } + else if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount == 0) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The call was successful but no display paths were found. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more arguments passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); + }*/ + + // We want to get the primary monitor + NVStatus = NVImport.NvAPI_DISP_GetGDIPrimaryDisplayId(out UInt32 primaryDisplayId); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetGDIPrimaryDisplayId returned OK."); + myDisplayConfig.MosaicConfig.PrimaryDisplayId = primaryDisplayId; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: There are no NVIDIA video cards in this computer. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting primary display id! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + + // We want to get the number of displays we have + // Go through the Physical GPUs one by one + for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) + { + //This function retrieves the number of display IDs we know about + UInt32 displayCount = 0; + NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayCount, 0); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on first pass. We have {displayCount} physical GPUs"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); + } + + if (displayCount > 0) + { + // Now we try to get the information about the displayIDs + NV_GPU_DISPLAYIDS_V2[] displayIds = new NV_GPU_DISPLAYIDS_V2[displayCount]; + NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayIds, ref displayCount, 0); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on second pass. We have {displayCount} physical GPUs"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); + } + else + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus} on second pass."); + } + + + // Time to get the color settings, HDR capabilities and settings for each display + bool isNvHdrEnabled = false; + Dictionary allHdrCapabilities = new Dictionary(); + Dictionary allHdrColorData = new Dictionary(); + Dictionary allColorData = new Dictionary(); + Dictionary> allCustomDisplays = new Dictionary>(); + for (int displayIndex = 0; displayIndex < displayCount; displayIndex++) + { + if (allDisplays) + { + // We want all physicallyconnected or connected displays + if (!(displayIds[displayIndex].isConnected || displayIds[displayIndex].isPhysicallyConnected)) + { + continue; + } + } + else + { + // We want only active displays, so skip any non-active ones + if (!displayIds[displayIndex].IsActive) + { + continue; + } + } + + // We get the Color Capabilities of the display + NV_COLOR_DATA_V5 colorData = new NV_COLOR_DATA_V5(); + // Set the command as a 'GET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_GET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + allColorData.Add(displayIds[displayIndex].DisplayId.ToString(), colorData); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); + } + + // Now we get the HDR capabilities of the display + NV_HDR_CAPABILITIES_V2 hdrCapabilities = new NV_HDR_CAPABILITIES_V2(); + NVStatus = NVImport.NvAPI_Disp_GetHdrCapabilities(displayIds[displayIndex].DisplayId, ref hdrCapabilities); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_GetHdrCapabilities returned OK."); + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsST2084EotfSupported)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports HDR mode ST2084 EOTF"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support HDR mode ST2084 EOTF"); + } + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsDolbyVisionSupported)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports DolbyVision HDR"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support DolbyVision HDR"); + } + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsEdrSupported)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports EDR"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support EDR"); + } + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsTraditionalHdrGammaSupported)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Traditional HDR Gama"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support Traditional HDR Gama"); + } + + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsTraditionalSdrGammaSupported)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Traditional SDR Gama"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT supports Traditional SDR Gama"); + } + if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.DriverExpandDefaultHdrParameters)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Driver Expanded Default HDR Parameters"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support Driver Expanded Default HDR Parameters "); + } + + allHdrCapabilities.Add(displayIds[displayIndex].DisplayId.ToString(), hdrCapabilities); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color capabilities from your display! NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); + } + + // Now we get the HDR colour settings of the display + NV_HDR_COLOR_DATA_V2 hdrColorData = new NV_HDR_COLOR_DATA_V2(); + hdrColorData.Cmd = NV_HDR_CMD.CMD_GET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIds[displayIndex].DisplayId, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_HdrColorControl returned OK. HDR mode is set to {hdrColorData.HdrMode.ToString("G")}."); + if (hdrColorData.HdrMode != NV_HDR_MODE.OFF) + { + isNvHdrEnabled = true; + } + allHdrColorData.Add(displayIds[displayIndex].DisplayId.ToString(), hdrColorData); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}."); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); + } + + + // TEMPORARILY DISABLING THE CUSTOM DISPLAY CODE FOR NOW, AS NOT SURE WHAT NVIDIA SETTINGS IT TRACKS + // KEEPING IT IN CASE I NEED IT FOR LATER. I ORIGINALLY THOUGHT THAT IS WHERE INTEGER SCALING SETTINGS LIVED< BUT WAS WRONG + /*// Now we get the Custom Display settings of the display (if there are any) + //NVIDIA_CUSTOM_DISPLAY_CONFIG customDisplayConfig = new NVIDIA_CUSTOM_DISPLAY_CONFIG(); + List customDisplayConfig = new List(); + for (UInt32 d = 0; d < UInt32.MaxValue; d++) + { + NV_CUSTOM_DISPLAY_V1 customDisplay = new NV_CUSTOM_DISPLAY_V1(); + NVStatus = NVImport.NvAPI_DISP_EnumCustomDisplay(displayIds[displayIndex].DisplayId, d, ref customDisplay); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_EnumCustomDisplay returned OK. Custom Display settings retrieved."); + customDisplayConfig.Add(customDisplay); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_END_ENUMERATION) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: We've reached the end of the list of Custom Displays. Breaking the polling loop."); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The supplied struct is incompatible. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); + break; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); + break; + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while enumerating the custom displays! NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); + break; + } + + } + if (customDisplayConfig.Count > 0) + { + allCustomDisplays.Add(displayIds[displayIndex].DisplayId, customDisplayConfig); + }*/ + } + + // Store the HDR information + myDisplayConfig.HdrConfig.IsNvHdrEnabled = isNvHdrEnabled; + myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; + myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; + myDisplayConfig.ColorConfig.ColorData = allColorData; + myDisplayConfig.CustomDisplays = allCustomDisplays; + myDisplayConfig.DisplayConfigs = allDisplayConfigs; + } + + } + + + // Now we need to loop through each of the windows paths so we can record the Windows DisplayName to DisplayID mapping + // This is needed for us to piece together the Screen layout for when we draw the NVIDIA screens! + myDisplayConfig.DisplayNames = new Dictionary(); + foreach (KeyValuePair> displaySource in WinLibrary.GetDisplaySourceNames()) + { + // Now we try to get the information about the displayIDs and map them to windows \\DISPLAY names e.g. \\DISPLAY1 + string displayName = displaySource.Key; + UInt32 displayId = 0; + NVStatus = NVImport.NvAPI_DISP_GetDisplayIdByDisplayName(displayName, out displayId); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayIdByDisplayName returned OK. The display {displayName} has NVIDIA DisplayID {displayId}"); + myDisplayConfig.DisplayNames.Add(displayId.ToString(), displayName); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); + } + } + + // Get the display identifiers + myDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); + } + else + { + SharedLogger.logger.Error($"NVIDIALibrary/GetNVIDIADisplayConfig: ERROR - Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); + throw new NVIDIALibraryException($"Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); } - return DisplaySources; + // Return the configuration + return myDisplayConfig; } - private LUID AdapterValueToLUID(ulong adapterValue) - { - LUID luid = new LUID(); - luid.LowPart = (uint)(adapterValue & uint.MaxValue); - luid.HighPart = (uint)(adapterValue >> 32); - return luid; - } - public string PrintActiveConfig() { string stringToReturn = ""; // Get the current config - WINDOWS_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; + NVIDIA_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; - WIN32STATUS err = WIN32STATUS.ERROR_GEN_FAILURE; - stringToReturn += $"****** WINDOWS CCD CONFIGURATION *******\n"; - stringToReturn += $"Display profile contains cloned screens: {displayConfig.IsCloned}\n"; - stringToReturn += $"\n"; + stringToReturn += $"****** NVIDIA VIDEO CARDS *******\n"; - // Get the size of the largest Active Paths and Modes arrays - int pathCount = 0; - int modeCount = 0; - - foreach (var path in displayConfig.DisplayConfigPaths) + // Enumerate all the Physical GPUs + PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NV_MAX_PHYSICAL_GPUS]; + uint physicalGpuCount = 0; + NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - stringToReturn += $"----++++==== Path ====++++----\n"; + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); + stringToReturn += $"Number of NVIDIA Video cards found: {physicalGpuCount}\n"; + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); + } - // get display source name - var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); - sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; - sourceInfo.Header.Size = (uint)Marshal.SizeOf(); - sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; - sourceInfo.Header.Id = path.SourceInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + // Go through the Physical GPUs one by one + for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) + { + //We want to get the name of the physical device + string gpuName = ""; + NVStatus = NVImport.NvAPI_GPU_GetFullName(physicalGpus[physicalGpuIndex], ref gpuName); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); - stringToReturn += $"****** Interrogating Display Source {path.SourceInfo.Id} *******\n"; - stringToReturn += $"Found Display Source {sourceInfo.ViewGdiDeviceName}\n"; - if (displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count > 1) + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetFullName returned OK. The GPU Full Name is {gpuName}"); + stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is a {gpuName}\n"; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the GPU full name! NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + + //This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce) + uint quadroStatus = 0; + NVStatus = NVImport.NvAPI_GPU_GetQuadroStatus(physicalGpus[physicalGpuIndex], out quadroStatus); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + if (quadroStatus == 0) { - stringToReturn += $"Display Source is Cloned: true\n"; - stringToReturn += $"Number of Display Source clones: {displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count - 1}\n"; + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the GeForce range"); + stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is in the GeForce range\n"; + } + else if (quadroStatus == 1) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the Quadro range"); + stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is in the Quadro range\n"; } else { - stringToReturn += $"Display Source is Cloned: false\n"; - stringToReturn += $"Number of Display Source clones: 0\n"; - + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is neither a GeForce or Quadro range vodeo card (QuadroStatus = {quadroStatus})"); } - stringToReturn += $"\n"; } else { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{path.SourceInfo.AdapterId}"); - } - - - // get display target name - var targetInfo = new DISPLAYCONFIG_TARGET_DEVICE_NAME(); - targetInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME; - targetInfo.Header.Size = (uint)Marshal.SizeOf(); - targetInfo.Header.AdapterId = path.TargetInfo.AdapterId; - targetInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref targetInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Connector Instance: {targetInfo.ConnectorInstance} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: EDID Manufacturer ID: {targetInfo.EdidManufactureId} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: EDID Product Code ID: {targetInfo.EdidProductCodeId} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags Friendly Name from EDID: {targetInfo.Flags.FriendlyNameFromEdid} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags Friendly Name Forced: {targetInfo.Flags.FriendlyNameForced} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags EDID ID is Valid: {targetInfo.Flags.EdidIdsValid} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Monitor Device Path: {targetInfo.MonitorDevicePath} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Monitor Friendly Device Name: {targetInfo.MonitorFriendlyDeviceName} for source {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Output Technology: {targetInfo.OutputTechnology} for source {path.TargetInfo.Id}."); - - stringToReturn += $"****** Interrogating Display Target {targetInfo.MonitorFriendlyDeviceName} *******\n"; - stringToReturn += $" Connector Instance: {targetInfo.ConnectorInstance}\n"; - stringToReturn += $" EDID Manufacturer ID: {targetInfo.EdidManufactureId}\n"; - stringToReturn += $" EDID Product Code ID: {targetInfo.EdidProductCodeId}\n"; - stringToReturn += $" Flags Friendly Name from EDID: {targetInfo.Flags.FriendlyNameFromEdid}\n"; - stringToReturn += $" Flags Friendly Name Forced: {targetInfo.Flags.FriendlyNameForced}\n"; - stringToReturn += $" Flags EDID ID is Valid: {targetInfo.Flags.EdidIdsValid}\n"; - stringToReturn += $" Monitor Device Path: {targetInfo.MonitorDevicePath}\n"; - stringToReturn += $" Monitor Friendly Device Name: {targetInfo.MonitorFriendlyDeviceName}\n"; - stringToReturn += $" Output Technology: {targetInfo.OutputTechnology}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); - } - - - // get display adapter name - var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); - adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; - adapterInfo.Header.Size = (uint)Marshal.SizeOf(); - adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; - adapterInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Found Adapter Device Path {adapterInfo.AdapterDevicePath} for source {path.TargetInfo.AdapterId}."); - stringToReturn += $"****** Interrogating Display Adapter {adapterInfo.AdapterDevicePath} *******\n"; - stringToReturn += $" Display Adapter {adapterInfo.AdapterDevicePath}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the adapter device path for target #{path.TargetInfo.AdapterId}"); - } - - // show the - - // get display target preferred mode - var targetPreferredInfo = new DISPLAYCONFIG_TARGET_PREFERRED_MODE(); - targetPreferredInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE; - targetPreferredInfo.Header.Size = (uint)Marshal.SizeOf(); - targetPreferredInfo.Header.AdapterId = path.TargetInfo.AdapterId; - targetPreferredInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref targetPreferredInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Preferred Width {targetPreferredInfo.Width} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Preferred Height {targetPreferredInfo.Height} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Active Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cy} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Total Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cy} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info HSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.HSyncFreq} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info VSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VSyncFreq} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Pixel Rate: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.PixelRate} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Scan Line Ordering: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ScanLineOrdering} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Video Standard: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VideoStandard} for target {path.TargetInfo.Id}."); - - stringToReturn += $"****** Interrogating Target Preferred Mode for Display {path.TargetInfo.Id} *******\n"; - stringToReturn += $" Target Preferred Width {targetPreferredInfo.Width} for target {path.TargetInfo.Id}\n"; - stringToReturn += $" Target Preferred Height {targetPreferredInfo.Height} for target {path.TargetInfo.Id}\n"; - stringToReturn += $" Target Video Signal Info Active Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cy}\n"; - stringToReturn += $" Target Video Signal Info Total Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cy}\n"; - stringToReturn += $" Target Video Signal Info HSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.HSyncFreq}\n"; - stringToReturn += $" Target Video Signal Info VSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VSyncFreq}\n"; - stringToReturn += $" Target Video Signal Info Pixel Rate: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.PixelRate}\n"; - stringToReturn += $" Target Video Signal Info Scan Line Ordering: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ScanLineOrdering}\n"; - stringToReturn += $" Target Video Signal Info Video Standard: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VideoStandard}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the preferred target name for display #{path.TargetInfo.Id}"); - } - - // get display target base type - var targetBaseTypeInfo = new DISPLAYCONFIG_TARGET_BASE_TYPE(); - targetBaseTypeInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE; - targetBaseTypeInfo.Header.Size = (uint)Marshal.SizeOf(); - targetBaseTypeInfo.Header.AdapterId = path.TargetInfo.AdapterId; - targetBaseTypeInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref targetBaseTypeInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Virtual Resolution is Disabled: {targetBaseTypeInfo.BaseOutputTechnology} for target {path.TargetInfo.Id}."); - - stringToReturn += $"****** Interrogating Target Base Type for Display {path.TargetInfo.Id} *******\n"; - stringToReturn += $" Base Output Technology: {targetBaseTypeInfo.BaseOutputTechnology}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target base type for display #{path.TargetInfo.Id}"); - } - - // get display support virtual resolution - var supportVirtResInfo = new DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION(); - supportVirtResInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION; - supportVirtResInfo.Header.Size = (uint)Marshal.SizeOf(); - supportVirtResInfo.Header.AdapterId = path.TargetInfo.AdapterId; - supportVirtResInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref supportVirtResInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Base Output Technology: {supportVirtResInfo.IsMonitorVirtualResolutionDisabled} for target {path.TargetInfo.Id}."); - stringToReturn += $"****** Interrogating Target Supporting virtual resolution for Display {path.TargetInfo.Id} *******\n"; - stringToReturn += $" Virtual Resolution is Disabled: {supportVirtResInfo.IsMonitorVirtualResolutionDisabled}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the virtual resolution support for display #{path.TargetInfo.Id}"); - } - - //get advanced color info - var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); - colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; - colorInfo.Header.Size = (uint)Marshal.SizeOf(); - colorInfo.Header.AdapterId = path.TargetInfo.AdapterId; - colorInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Supported: {colorInfo.AdvancedColorSupported} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Enabled: {colorInfo.AdvancedColorEnabled} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Force Disabled: {colorInfo.AdvancedColorForceDisabled} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Bits per Color Channel: {colorInfo.BitsPerColorChannel} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Color Encoding: {colorInfo.ColorEncoding} for target {path.TargetInfo.Id}."); - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Wide Color Enforced: {colorInfo.WideColorEnforced} for target {path.TargetInfo.Id}."); - - stringToReturn += $"****** Interrogating Advanced Color Info for Display {path.TargetInfo.Id} *******\n"; - stringToReturn += $" Advanced Color Supported: {colorInfo.AdvancedColorSupported}\n"; - stringToReturn += $" Advanced Color Enabled: {colorInfo.AdvancedColorEnabled}\n"; - stringToReturn += $" Advanced Color Force Disabled: {colorInfo.AdvancedColorForceDisabled}\n"; - stringToReturn += $" Bits per Color Channel: {colorInfo.BitsPerColorChannel}\n"; - stringToReturn += $" Color Encoding: {colorInfo.ColorEncoding}\n"; - stringToReturn += $" Wide Color Enforced: {colorInfo.WideColorEnforced}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the virtual resolution support for display #{path.TargetInfo.Id}"); - } - - // get SDR white levels - var whiteLevelInfo = new DISPLAYCONFIG_SDR_WHITE_LEVEL(); - whiteLevelInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL; - whiteLevelInfo.Header.Size = (uint)Marshal.SizeOf(); - whiteLevelInfo.Header.AdapterId = path.TargetInfo.AdapterId; - whiteLevelInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref whiteLevelInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White Level: {whiteLevelInfo.SDRWhiteLevel} for target {path.TargetInfo.Id}."); - - stringToReturn += $"****** Interrogating SDR White Level for Display {path.TargetInfo.Id} *******\n"; - stringToReturn += $" SDR White Level: {whiteLevelInfo.SDRWhiteLevel}\n"; - stringToReturn += $"\n"; - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the SDL white level for display #{path.TargetInfo.Id}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error GETTING qUADRO STATUS. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); } } - // Get the list of all display adapters in this machine through GDI - Dictionary gdiDeviceSettings = new Dictionary(); - UInt32 displayDeviceNum = 0; - DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); - displayDevice.Size = (UInt32)Marshal.SizeOf(); - stringToReturn += $"----++++==== GDI Device Information ====++++----\n"; - while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) + stringToReturn += $"\n****** NVIDIA SURROUND/MOSAIC *******\n"; + if (displayConfig.MosaicConfig.IsMosaicEnabled) { - // Now we try and grab the GDI Device Info for each display device - stringToReturn += $"****** Display Device Info for Display {displayDevice.DeviceName} *******\n"; - stringToReturn += $" Display Device ID: {displayDevice.DeviceId}\n"; - stringToReturn += $" Display Device Key: {displayDevice.DeviceKey}\n"; - stringToReturn += $" Display Device Name: {displayDevice.DeviceName}\n"; - stringToReturn += $" Display Device String: {displayDevice.DeviceString}\n"; - stringToReturn += $" Is Attached to Desktop: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop)}\n"; - stringToReturn += $" Is Disconnected: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Disconnect)}\n"; - stringToReturn += $" Is a Mirroing Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MirroringDriver)}\n"; - stringToReturn += $" Has Modes Pruned: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.ModesPruned)}\n"; - stringToReturn += $" Is Multi-driver: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)}\n"; - stringToReturn += $" Is Primary Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)}\n"; - stringToReturn += $" Is Remote Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Remote)}\n"; - stringToReturn += $" Is Removable Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Removable)}\n"; - stringToReturn += $" Is VGA Compatible Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.VGACompatible)}\n"; - stringToReturn += $"\n"; - - - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); - if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) + stringToReturn += $"NVIDIA Surround/Mosaic is Enabled\n"; + if (displayConfig.MosaicConfig.MosaicGridTopos.Length > 1) { - // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display - // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); - stringToReturn += $" Display Device Settings for attached Display {displayDevice.DeviceName} :\n"; - DEVICE_MODE currentMode = new DEVICE_MODE(); - currentMode.Size = (UInt16)Marshal.SizeOf(); - bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); - if (gdiWorked) + stringToReturn += $"There are {displayConfig.MosaicConfig.MosaicGridTopos.Length} NVIDIA Surround/Mosaic Grid Topologies in use.\n"; + } + if (displayConfig.MosaicConfig.MosaicGridTopos.Length == 1) + { + stringToReturn += $"There is 1 NVIDIA Surround/Mosaic Grid Topology in use.\n"; + } + else + { + stringToReturn += $"There are no NVIDIA Surround/Mosaic Grid Topologies in use.\n"; + } + + int count = 0; + foreach (NV_MOSAIC_GRID_TOPO_V2 gridTopology in displayConfig.MosaicConfig.MosaicGridTopos) + { + stringToReturn += $"NOTE: This Surround/Mosaic screen will be treated as a single display by Windows.\n"; + stringToReturn += $"The NVIDIA Surround/Mosaic Grid Topology #{count} is {gridTopology.Rows} Rows x {gridTopology.Columns} Columns\n"; + stringToReturn += $"The NVIDIA Surround/Mosaic Grid Topology #{count} involves {gridTopology.DisplayCount} Displays\n"; + count++; + } + } + else + { + stringToReturn += $"NVIDIA Surround/Mosaic is Disabled\n"; + } + + // Start printing out things + stringToReturn += $"\n****** NVIDIA COLOR CONFIG *******\n"; + foreach (KeyValuePair colorData in displayConfig.ColorConfig.ColorData) + { + string displayId = colorData.Key.ToString(); + stringToReturn += $"Display {displayId} BPC is {colorData.Value.Bpc.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} ColorFormat is {colorData.Value.ColorFormat.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} Colorimetry is {colorData.Value.Colorimetry.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} ColorSelectionPolicy is {colorData.Value.ColorSelectionPolicy.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} Depth is {colorData.Value.Depth.ToString("G")}.\n"; + stringToReturn += $"Display {displayId} DynamicRange is {colorData.Value.DynamicRange.ToString("G")}.\n"; + } + + // Start printing out HDR things + stringToReturn += $"\n****** NVIDIA HDR CONFIG *******\n"; + if (displayConfig.HdrConfig.IsNvHdrEnabled) + { + stringToReturn += $"NVIDIA HDR is Enabled\n"; + if (displayConfig.HdrConfig.HdrCapabilities.Count > 0) + { + stringToReturn += $"There are {displayConfig.HdrConfig.HdrCapabilities.Count} NVIDIA HDR devices in use.\n"; + } + if (displayConfig.MosaicConfig.MosaicGridTopos.Length == 1) + { + stringToReturn += $"There is 1 NVIDIA HDR devices in use.\n"; + } + else + { + stringToReturn += $"There are no NVIDIA HDR devices in use.\n"; + } + + foreach (KeyValuePair hdrCapabilityItem in displayConfig.HdrConfig.HdrCapabilities) + { + string displayId = hdrCapabilityItem.Key.ToString(); + if (hdrCapabilityItem.Value.IsDolbyVisionSupported) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); - // Now we try and grab the GDI Device Settings for each display device - stringToReturn += $" Bits Per Pixel: {currentMode.BitsPerPixel}\n"; - stringToReturn += $" Device Name: {currentMode.DeviceName}\n"; - stringToReturn += $" Display Fixed Output: {currentMode.DisplayFixedOutput}\n"; - stringToReturn += $" Grayscale Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Grayscale)}\n"; - stringToReturn += $" Interlaced Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Interlaced)}\n"; - stringToReturn += $" Refresh Rate: {currentMode.DisplayFrequency}Hz\n"; - stringToReturn += $" Display Rotation: {currentMode.DisplayOrientation.ToString("G")}\n"; - stringToReturn += $" Driver Extra: {currentMode.DriverExtra}\n"; - stringToReturn += $" Driver Version: {currentMode.DriverVersion}\n"; - stringToReturn += $" All Display Fields populated by driver: {currentMode.Fields.HasFlag(DEVICE_MODE_FIELDS.AllDisplay)}\n"; - stringToReturn += $" Display Width and Height in Pixels: {currentMode.PixelsWidth} x {currentMode.PixelsHeight}\n"; - stringToReturn += $" Display Position: X:{currentMode.Position.X}, Y:{currentMode.Position.Y}\n"; - stringToReturn += $" Specification Version: {currentMode.SpecificationVersion}\n"; - stringToReturn += $"\n"; + stringToReturn += $"Display {displayId} supports DolbyVision HDR.\n"; } else { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); - stringToReturn += $" No display settings found.\n\n"; + stringToReturn += $"Display {displayId} DOES NOT support DolbyVision HDR.\n"; + } + if (hdrCapabilityItem.Value.IsST2084EotfSupported) + { + stringToReturn += $"Display {displayId} supports ST2084EOTF HDR Mode.\n"; + } + else + { + stringToReturn += $"Display {displayId} DOES NOT support ST2084EOTF HDR Mode.\n"; + } + if (hdrCapabilityItem.Value.IsTraditionalHdrGammaSupported) + { + stringToReturn += $"Display {displayId} supports Traditional HDR Gamma.\n"; + } + else + { + stringToReturn += $"Display {displayId} DOES NOT support Traditional HDR Gamma.\n"; + } + if (hdrCapabilityItem.Value.IsEdrSupported) + { + stringToReturn += $"Display {displayId} supports EDR.\n"; + } + else + { + stringToReturn += $"Display {displayId} DOES NOT support EDR.\n"; + } + if (hdrCapabilityItem.Value.IsTraditionalSdrGammaSupported) + { + stringToReturn += $"Display {displayId} supports SDR Gamma.\n"; + } + else + { + stringToReturn += $"Display {displayId} DOES NOT support SDR Gamma.\n"; } } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); - } - - displayDeviceNum++; } + else + { + stringToReturn += $"NVIDIA HDR is Disabled (HDR may still be enabled within Windows itself)\n"; + } + + stringToReturn += $"\n\n"; + // Now we also get the Windows CCD Library info, and add it to the above + stringToReturn += WinLibrary.GetLibrary().PrintActiveConfig(); return stringToReturn; } - public bool SetActiveConfig(WINDOWS_DISPLAY_CONFIG displayConfig) + public bool SetActiveConfig(NVIDIA_DISPLAY_CONFIG displayConfig) { - // Get the all possible windows display configs - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Generating a list of all the current display configs"); - WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); - if (displayConfig.IsCloned) + if (_initialised) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have a cloned display in this display profile, so using the Windows GDI to set the layout"); - } - else - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile, so using the Windows CCD to set the layout"); - } - // Now we go through the Paths to update the LUIDs as per Soroush's suggestion - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); - PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); + NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; - uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; - /*SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Testing whether the display configuration is valid"); - // Test whether a specified display configuration is supported on the computer - // Note: THe flags are different as we cannot use SDC_FORCE_MODE_ENUMERATION unless we're actually applying the config - WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_VALIDATE); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully validated that the display configuration supplied would work!"); - } - else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. This display configuration won't work if applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. This display configuration won't work if applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. This display configuration won't work if applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_GEN_FAILURE) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. This display configuration won't work if applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. This display configuration won't work if applied."); - return false; - } - else - { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: SetDisplayConfig couldn't validate the display configuration supplied. This display configuration won't work if applied."); - return false; - } - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Yay! The display configuration is valid! Attempting to set the Display Config now");*/ - - - // Now set the specified display configuration for this computer - WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully set the display configuration to the settings supplied!"); - } - else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. Display configuration not applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_GEN_FAILURE) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. Display configuration not applied."); - return false; - } - else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); - return false; - } - else - { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: SetDisplayConfig couldn't set the display configuration using the settings supplied. Display configuration not applied."); - return false; - } - - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! The display configuration has been successfully applied"); - - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the Windows CCD HDR settings"); - System.Threading.Thread.Sleep(500); - - foreach (ADVANCED_HDR_INFO_PER_PATH myHDRstate in displayConfig.DisplayHDRStates) - { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to get information whether HDR color is in use now on Display {myHDRstate.Id}."); - // Get advanced HDR info - var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); - colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; - colorInfo.Header.Size = (uint)Marshal.SizeOf(); - colorInfo.Header.AdapterId = myHDRstate.AdapterId; - colorInfo.Header.Id = myHDRstate.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + // Remove any custom NVIDIA Colour settings + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Advanced Color Info gathered from Display {myHDRstate.Id}"); - - if (myHDRstate.AdvancedColorInfo.AdvancedColorSupported && colorInfo.AdvancedColorEnabled != myHDRstate.AdvancedColorInfo.AdvancedColorEnabled) + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + string displayId = colorDataDict.Key; + try { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} but is currently {colorInfo.AdvancedColorEnabled}."); + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - var setColorState = new DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE(); - setColorState.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE; - setColorState.Header.Size = (uint)Marshal.SizeOf(); - setColorState.Header.AdapterId = myHDRstate.AdapterId; - setColorState.Header.Id = myHDRstate.Id; - setColorState.EnableAdvancedColor = myHDRstate.AdvancedColorInfo.AdvancedColorEnabled; - err = CCDImport.DisplayConfigSetDeviceInfo(ref setColorState); - if (err == WIN32STATUS.ERROR_SUCCESS) + if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! Set HDR successfully to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} on Display {myHDRstate.Id}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off prior NVIDIA Color Settings."); + continue; + } + + // If the setting for this display is not the same as we want, then we set it to NV_COLOR_SELECTION_POLICY_BEST_QUALITY + if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + // Force the colorData to be NV_COLOR_SELECTION_POLICY_BEST_QUALITY so that we return the color control to Windows + // We will change the colorData to whatever is required later on + colorData = displayConfig.ColorConfig.ColorData[displayId]; + colorData.ColorSelectionPolicy = NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } } else { - SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to set the HDR settings for display #{myHDRstate.Id}"); - return false; + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); } } - else + catch (Exception ex) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Skipping setting HDR on Display {myHDRstate.Id} as it does not support HDR"); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA specific colour settings for display {displayId}."); } } - else + + // Remove any custom NVIDIA HDR Colour settings + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { - SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out if HDR is supported for display #{myHDRstate.Id}"); + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + string displayId = hdrColorDataDict.Key; + + try + { + + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); + + if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off HDR."); + continue; + } + + // if it's not the same HDR we want, then we turn off HDR (and will apply it if needed later on in SetActiveOverride) + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + hdrColorData.HdrMode = NV_HDR_MODE.OFF; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } + + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); + } + + } + + // Now we've set the color the way we want it, lets do the thing + // We want to check the NVIDIA Surround (Mosaic) config is valid + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Testing whether the display configuration is valid"); + // + if (displayConfig.MosaicConfig.IsMosaicEnabled) + { + if (displayConfig.MosaicConfig.Equals(ActiveDisplayConfig.MosaicConfig)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is exactly the same as the one we want, so skipping applying the Mosaic config"); + } + else + { + // We need to change to a Mosaic profile, so we need to apply the new Mosaic Topology + NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is different as the one we want, so applying the Mosaic config now"); + // If we get here then the display is valid, so now we actually apply the new Mosaic Topology + NVStatus = NVImport.NvAPI_Mosaic_SetDisplayGrids(displayConfig.MosaicConfig.MosaicGridTopos, displayConfig.MosaicConfig.MosaicGridCount, setTopoFlags); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); + //Task.Delay(500); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Display Grids! NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); + } + } + + } + else if (!displayConfig.MosaicConfig.IsMosaicEnabled && ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) + { + // We are on a Mosaic profile now, and we need to change to a non-Mosaic profile + // We need to disable the Mosaic Topology + + // Turn off Mosaic + uint enable = 0; + NVStatus = NVImport.NvAPI_Mosaic_EnableCurrentTopo(enable); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_EnableCurrentTopo returned OK. Previously set Mosiac config re-enabled."); + //Task.Delay(500); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: There was an error disabling the display mode. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + return false; + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); + } + } + else if (!displayConfig.MosaicConfig.IsMosaicEnabled && !ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) + { + // We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile + // so there is nothing to do as far as NVIDIA is concerned! + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile so there is nothing to do as far as NVIDIA is concerned!"); } } + return true; + } - // Get the existing displays - Dictionary currentGdiDisplaySettings = GetGdiDisplaySettings(); + public bool SetActiveConfigOverride(NVIDIA_DISPLAY_CONFIG displayConfig) + { - // Apply the previously saved display settings to the new displays (match them up) - // NOTE: This may be the only mode needed once it's completed. - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); - foreach (var gdiDisplay in displayConfig.GdiDisplaySettings) + if (_initialised) { + // Force another scan of what the display config is so that the following logic works + UpdateActiveConfig(); - string displayDeviceKey = gdiDisplay.Key; - GDI_DISPLAY_SETTING displayDeviceSettings = displayConfig.GdiDisplaySettings[displayDeviceKey]; + NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - if (currentGdiDisplaySettings.ContainsKey(displayDeviceKey)) + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on colour if it's user set colour."); + // Now we try to set each display color + foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); - GDI_DISPLAY_SETTING currentDeviceSetting = currentGdiDisplaySettings[displayDeviceKey]; + NV_COLOR_DATA_V5 colorData = colorDataDict.Value; + string displayId = colorDataDict.Key; + try + { + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - // Use the current device as a base, but set some of the various settings we stored as part of the profile - currentDeviceSetting.DeviceMode.BitsPerPixel = displayDeviceSettings.DeviceMode.BitsPerPixel; - currentDeviceSetting.DeviceMode.DisplayOrientation = displayDeviceSettings.DeviceMode.DisplayOrientation; - currentDeviceSetting.DeviceMode.DisplayFrequency = displayDeviceSettings.DeviceMode.DisplayFrequency; - // Sets the greyscale and interlaced settings - currentDeviceSetting.DeviceMode.DisplayFlags = displayDeviceSettings.DeviceMode.DisplayFlags; + if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the NVIDIA Color Settings."); + continue; + } - CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); - if (result == CHANGE_DISPLAY_RESULTS.Successful) - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); + // If this is a setting that says it uses user colour settings, then we turn it off + if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + colorData = displayConfig.ColorConfig.ColorData[displayId]; + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + + // Set the command as a 'SET' + colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; + NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + switch (colorData.ColorSelectionPolicy) + { + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + break; + case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + break; + } + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + } } - else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + catch (Exception ex) { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceKey} not updated to new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadMode) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.BadParam) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.Failed) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: Unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else if (result == CHANGE_DISPLAY_RESULTS.Restart) - { - SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); - return false; - } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} not updated to use the new mode."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on NVIDIA custom colour settings for display {displayId}."); } } - else + + + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on NVIDIA HDR colour if it's user wants to use NVIDIA HDR colour."); + // Now we try to set each display color + foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { - SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} is not currently in use, so cannot set it!"); + NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; + string displayId = hdrColorDataDict.Key; + + try + { + UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); + + if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the HdrColorData."); + continue; + } + + // if it's HDR and it's a different mode than what we are in now, then set HDR + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + // Apply the HDR removal + hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + } + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA HDR if needed for display {displayId} and that currently isn't required. Skipping changing NVIDIA HDR mode."); + } + } + catch (Exception ex) + { + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on custom NVIDIA HDR colour settings for display {displayId}."); + } } + + } + else + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfigOverride: ERROR - Tried to run SetActiveConfig but the NVIDIA NVAPI library isn't initialised!"); + throw new NVIDIALibraryException($"Tried to run SetActiveConfigOverride but the NVIDIA NVAPI library isn't initialised!"); + } + + return true; } - public bool IsActiveConfig(WINDOWS_DISPLAY_CONFIG displayConfig) + public bool IsActiveConfig(NVIDIA_DISPLAY_CONFIG displayConfig) { // Check whether the display config is in use now - SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: Checking whether the display configuration is already being used."); - if (displayConfig.Equals(ActiveDisplayConfig)) + SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: Checking whether the display configuration is already being used."); + if (displayConfig.Equals(_activeDisplayConfig)) { - SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentWindowsDisplayConfig"); + SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentDisplayConfig"); return true; } else { - SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: The display configuration is NOT currently in use (supplied displayConfig Equals currentWindowsDisplayConfig"); + SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: The display configuration is NOT currently in use (supplied displayConfig does NOT equal currentDisplayConfig"); return false; } } - public bool IsValidConfig(WINDOWS_DISPLAY_CONFIG displayConfig) + public bool IsValidConfig(NVIDIA_DISPLAY_CONFIG displayConfig) { - // Get the current windows display configs - WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); - - SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to make sure they still exist"); - // Firstly check that the Adapter Names are still currently available (i.e. the adapter hasn't been replaced). - foreach (string savedAdapterName in displayConfig.DisplayAdapters.Values) + // We want to check the NVIDIA Surround (Mosaic) config is valid + SharedLogger.logger.Trace($"NVIDIALibrary/IsValidConfig: Testing whether the display configuration is valid"); + // + if (displayConfig.MosaicConfig.IsMosaicEnabled) { - // If there is even one of the saved adapters that has changed, then it's no longer possible - // to use this display config! - if (!allWindowsDisplayConfig.DisplayAdapters.Values.Contains(savedAdapterName)) + + // =================================================================================================================================== + // Important! ValidateDisplayGrids does not work at the moment. It errors when supplied with a Grid Topology that works in SetDisplaGrids + // We therefore cannot use ValidateDisplayGrids to actually validate the config before it's use. We instead need to rely on SetDisplaGrids reporting an + // error if it is unable to apply the requested configuration. While this works fine, it's not optimal. + // TODO: Test ValidateDisplayGrids in a future NVIDIA driver release to see if they fixed it. + // =================================================================================================================================== + return true; + + /*// Figure out how many Mosaic Grid topoligies there are + uint mosaicGridCount = 0; + NVAPI_STATUS NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Error($"WinLibrary/PatchAdapterIDs: ERROR - Saved adapter {savedAdapterName} is not available right now! This display configuration won't work!"); - return false; + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); } - } - SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: All teh adapters that the display configuration uses are still avilable to use now!"); - // Now we go through the Paths to update the LUIDs as per Soroush's suggestion - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Attemptong to patch the saved display configuration's adapter IDs so that it will still work (these change at each boot)"); - PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); + // Get Current Mosaic Grid settings using the Grid topologies fnumbers we got before + //NV_MOSAIC_GRID_TOPO_V2[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[mosaicGridCount]; + NV_MOSAIC_GRID_TOPO_V1[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V1[mosaicGridCount]; + NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridTopos, ref mosaicGridCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); + } + */ - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the display configuration is valid "); - // Test whether a specified display configuration is supported on the computer - uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; - uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; - WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_VALIDATE); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: SetDisplayConfig validated that the display configuration is valid and can be used!"); - return true; + /*NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; + bool topoValid = false; + NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[] topoStatuses = new NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[displayConfig.MosaicConfig.MosaicGridCount]; + NVAPI_STATUS NVStatus = NVImport.NvAPI_Mosaic_ValidateDisplayGrids(setTopoFlags, ref displayConfig.MosaicConfig.MosaicGridTopos, ref topoStatuses, displayConfig.MosaicConfig.MosaicGridCount); + //NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[] topoStatuses = new NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[mosaicGridCount]; + //NVStatus = NVImport.NvAPI_Mosaic_ValidateDisplayGrids(setTopoFlags, ref mosaicGridTopos, ref topoStatuses, mosaicGridCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); + + for (int i = 0; i < topoStatuses.Length; i++) + { + // If there is an error then we need to log it! + // And make it not be used + if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Congratulations! No error flags for GridTopology #{i}"); + topoValid = true; + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.DISPLAY_ON_INVALID_GPU) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Display is on an invalid GPU"); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.DISPLAY_ON_WRONG_CONNECTOR) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Display is on the wrong connection. It was on a different connection when the display profile was saved."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.ECC_ENABLED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: ECC has been enabled, and Mosaic/Surround doesn't work with ECC"); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.GPU_TOPOLOGY_NOT_SUPPORTED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: This GPU topology is not supported."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.MISMATCHED_OUTPUT_TYPE) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: The output type has changed for the display. The display was connected through another output type when the display profile was saved."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NOT_SUPPORTED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: This Grid Topology is not supported on this video card."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_COMMON_TIMINGS) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Couldn't find common timings that suit all the displays in this Grid Topology."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_DISPLAY_CONNECTED) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: No display connected."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_EDID_AVAILABLE) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Your display didn't provide any information when we attempted to query it. Your display either doesn't support support EDID querying or has it a fault. "); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_GPU_TOPOLOGY) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: There is no GPU topology provided."); + } + else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_SLI_BRIDGE) + { + SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: There is no SLI bridge, and there was one when the display profile was created."); + } + + // And now we also check to see if there are any warnings we also need to log + if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.NONE) + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Congratulations! No warning flags for GridTopology #{i}"); + } + else if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.DISPLAY_POSITION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Warning for the GridTopology #{i}: The display position has changed, and this may affect your display view."); + } + else if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.DRIVER_RELOAD_REQUIRED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Warning for the GridTopology #{i}: Your computer needs to be restarted before your NVIDIA device driver can use this Grid Topology."); + } + } + + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); + } + + + // Cancel the screen change if there was an error with anything above this. + if (topoValid) + { + // If there was an issue then we need to return false + // to indicate that the display profile can't be applied + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: The display settings are valid."); + return true; + } + else + { + // If there was an issue then we need to return false + // to indicate that the display profile can't be applied + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: There was an error when validating the requested grid topology that prevents us from using the display settings provided. THe display setttings are NOT valid."); + return false; + }*/ } else { - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: SetDisplayConfig confirmed that the display configuration is invalid and cannot be used!"); - return false; + // Its not a Mosaic topology, so we just let it pass, as it's windows settings that matter. + return true; } - } - public bool IsPossibleConfig(WINDOWS_DISPLAY_CONFIG displayConfig) + public bool IsPossibleConfig(NVIDIA_DISPLAY_CONFIG displayConfig) { - // We want to check the Windows Display profile can be used now - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the Windows display configuration is possible to be used now"); + // We want to check the NVIDIA profile can be used now + SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Testing whether the NVIDIA display configuration is possible to be used now"); // check what the currently available displays are (include the ones not active) List currentAllIds = GetAllConnectedDisplayIdentifiers(); // CHeck that we have all the displayConfig DisplayIdentifiers we need available now - //if (currentAllIds.Intersect(displayConfig.DisplayIdentifiers).Count() == displayConfig.DisplayIdentifiers.Count) if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) + //if (currentAllIds.Intersect(displayConfig.DisplayIdentifiers).Count() == displayConfig.DisplayIdentifiers.Count) { - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Success! THe Windows display configuration is possible to be used now"); + SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Success! The NVIDIA display configuration is possible to be used now"); return true; } else { - SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Uh oh! THe Windows display configuration is possible cannot be used now"); + SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Uh oh! The NVIDIA display configuration is possible cannot be used now"); return false; } } + /*public bool IsEquivalentConfig(NVIDIA_DISPLAY_CONFIG displayConfig, NVIDIA_DISPLAY_CONFIG otherDisplayConfig) + { + // We want to check if the NVIDIA configurations are the equiavalent of each other + // IMPORTANT: This function differs from Equals in that Equivalent allows some fields to differ in order to still match. + // The goal is to identify when two display configurations would be the same if they were applied. + + SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Testing whether the NVIDIA display configuration is equivalent to another"); + if (_initialised) + { + NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; + + // Check that displayConfig DisplayIdentifiers match + if (!displayConfig.DisplayIdentifiers.All(value => otherDisplayConfig.DisplayIdentifiers.Contains(value))) + { + SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA display identifiers don't match so NVIDIA Config is not equivalent to the other one."); + return false; + } + + // Check that displayConfig Mosaic Configs match + if (!displayConfig.MosaicConfig.Equals(otherDisplayConfig.MosaicConfig)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA Mosaic Configs don't match so NVIDIA Config is not equivalent to the other one."); + return false; + } + + // Check that displayConfig Hdr Configs match + if (!displayConfig.HdrConfig.Equals(otherDisplayConfig.HdrConfig)) + { + SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA Hdr Configs don't match so NVIDIA Config is not equivalent to the other one."); + return false; + } + + SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Success! The NVIDIA display configuration is possible to be used now"); + return true; + } + else + { + return false; + } + }*/ + public List GetCurrentDisplayIdentifiers() { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentDisplayIdentifiers: Getting the current display identifiers for the displays in use now"); - return GetSomeDisplayIdentifiers(QDC.QDC_ONLY_ACTIVE_PATHS); + SharedLogger.logger.Trace($"NVIDIALibrary/GetCurrentDisplayIdentifiers: Getting the current display identifiers for the displays in use now"); + return GetSomeDisplayIdentifiers(false); } public List GetAllConnectedDisplayIdentifiers() { - SharedLogger.logger.Trace($"WinLibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); - return GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS); + SharedLogger.logger.Trace($"NVIDIALibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); + return GetSomeDisplayIdentifiers(true); } - private List GetSomeDisplayIdentifiers(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) + private List GetSomeDisplayIdentifiers(bool allDisplays = true) { - SharedLogger.logger.Debug($"WinLibrary/GetCurrentDisplayIdentifiers: Generating the unique Display Identifiers for the currently active configuration"); + SharedLogger.logger.Debug($"NVIDIALibrary/GetCurrentDisplayIdentifiers: Generating the unique Display Identifiers for the currently active configuration"); List displayIdentifiers = new List(); - SharedLogger.logger.Trace($"WinLibrary/GetCurrentDisplayIdentifiers: Testing whether the display configuration is valid (allowing tweaks)."); - // Get the size of the largest Active Paths and Modes arrays - int pathCount = 0; - int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(selector, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + // Enumerate all the Physical GPUs + PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NV_MAX_PHYSICAL_GPUS]; + uint physicalGpuCount = 0; + NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); } - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); - var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(selector, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + // Go through the Physical GPUs one by one + for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) { - SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the size of the largest Active Paths and Modes arrays"); - // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again - // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig - err = CCDImport.GetDisplayConfigBufferSizes(selector, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + //We want to get the name of the physical device + string gpuName = ""; + NVStatus = NVImport.NvAPI_GPU_GetFullName(physicalGpus[physicalGpuIndex], ref gpuName); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetFullName returned OK. The GPU Full Name is {gpuName}"); } - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); - paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(selector, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) { - SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); } - else if (err != WIN32STATUS.ERROR_SUCCESS) + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) { - SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); } - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); - } - - foreach (var path in paths) - { - if (path.TargetInfo.TargetAvailable == false) + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - // We want to skip this one cause it's not valid - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); - continue; + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); } - - // get display source name - var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); - sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; - sourceInfo.Header.Size = (uint)Marshal.SizeOf(); - sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; - sourceInfo.Header.Id = path.SourceInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the source info from {path.SourceInfo.Id}."); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); } else { - SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.SourceInfo.Id}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the GPU full name! NvAPI_GPU_GetFullName() returned error code {NVStatus}"); } - // get display target name - var targetInfo = new DISPLAYCONFIG_TARGET_DEVICE_NAME(); - targetInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME; - targetInfo.Header.Size = (uint)Marshal.SizeOf(); - targetInfo.Header.AdapterId = path.TargetInfo.AdapterId; - targetInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref targetInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + //We want to get the physical details of the physical device + NV_GPU_BUS_TYPE busType = NV_GPU_BUS_TYPE.UNDEFINED; + NVStatus = NVImport.NvAPI_GPU_GetBusType(physicalGpus[physicalGpuIndex], ref busType); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the target info from {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetBoardInfo returned OK. THe GPU BusType is {busType.ToString("G")}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); } else { - SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); } - // get display adapter name - var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); - adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; - adapterInfo.Header.Size = (uint)Marshal.SizeOf(); - adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; - adapterInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) + //We want to get the physical details of the physical device + UInt32 busId = 0; + NVStatus = NVImport.NvAPI_GPU_GetBusId(physicalGpus[physicalGpuIndex], ref busId); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the display name info from {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetBusId returned OK. The GPU Bus ID was {busId}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); } else { - SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetBusId() returned error code {NVStatus}"); } - // Create an array of all the important display info we need to record - List displayInfo = new List(); - displayInfo.Add("WINAPI"); - try + // Next, we need to get all the connected Display IDs. + //This function retrieves the number of display IDs we know about + UInt32 displayCount = 0; + NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayCount, 0); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - displayInfo.Add(adapterInfo.AdapterDevicePath.ToString()); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetGDIPrimaryDisplayId returned OK. We have {displayCount} connected displays detected."); } - catch (Exception ex) + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Adapter Device Path from video card. Substituting with a # instead"); - displayInfo.Add("#"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - try + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) { - displayInfo.Add(targetInfo.OutputTechnology.ToString()); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - catch (Exception ex) + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Connector Instance from video card. Substituting with a # instead"); - displayInfo.Add("#"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - try + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - displayInfo.Add(targetInfo.EdidManufactureId.ToString()); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - catch (Exception ex) + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display EDID Manufacturer Code from video card. Substituting with a # instead"); - displayInfo.Add("#"); + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - try + else { - displayInfo.Add(targetInfo.EdidProductCodeId.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display EDID Product Code from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(targetInfo.MonitorDevicePath.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Path Target Info Id from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(targetInfo.MonitorFriendlyDeviceName.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Target Friendly name from video card. Substituting with a # instead"); - displayInfo.Add("#"); + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); } - // Create a display identifier out of it - string displayIdentifier = String.Join("|", displayInfo); - // Add it to the list of display identifiers so we can return it - // but only add it if it doesn't already exist. Otherwise we get duplicates :/ - if (!displayIdentifiers.Contains(displayIdentifier)) + if (displayCount > 0) { - displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); - } + // Now we try to get the information about the displayIDs + NV_GPU_DISPLAYIDS_V2[] displayIds = new NV_GPU_DISPLAYIDS_V2[displayCount]; + NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayIds, ref displayCount, 0); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK. We have {displayCount} physical GPUs"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); + } + // Now, we want to go through the displays + foreach (NV_GPU_DISPLAYIDS_V2 oneDisplay in displayIds) + { + // If alldisplays is false, then we only want the active displays. We need to skip this one if it is not active + if (allDisplays == false && oneDisplay.IsActive == false) + { + // We want to skip this display as it is non-active, and we only want active displays + continue; + } + + + // Now we try to get the GPU and Output ID from the DisplayID + PhysicalGpuHandle physicalGpu = new PhysicalGpuHandle(); + UInt32 gpuOutputId = 0; + NVStatus = NVImport.NvAPI_SYS_GetGpuAndOutputIdFromDisplayId(oneDisplay.DisplayId, out physicalGpu, out gpuOutputId); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_SYS_GetGpuAndOutputIdFromDisplayId returned OK. We received Physical GPU ID {physicalGpu} and GPU Output ID {gpuOutputId}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_SYS_GetGpuAndOutputIdFromDisplayId() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_SYS_GetGpuAndOutputIdFromDisplayId() returned error code {NVStatus}"); + } + + // Lets set some EDID default in case the EDID doesn't work + string manufacturerName = "Unknown"; + UInt32 productCode = 0; + UInt32 serialNumber = 0; + // We try to get an EDID block and extract the info + NV_EDID_V3 edidInfo = new NV_EDID_V3(); + NVStatus = NVImport.NvAPI_GPU_GetEDID(physicalGpu, gpuOutputId, ref edidInfo); + if (NVStatus == NVAPI_STATUS.NVAPI_OK) + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetEDID returned OK. We have got an EDID Block."); + EDID edidParsedInfo = new EDID(edidInfo.EDID_Data); + manufacturerName = edidParsedInfo.ManufacturerCode; + productCode = edidParsedInfo.ProductCode; + serialNumber = edidParsedInfo.SerialNumber; + } + else + { + if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Either edidInfo was null when it was supplied, or gpuOutputId . NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: No active GPU was found. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The GPU Handle supplied was not a valid GPU Handle. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_DATA_NOT_FOUND) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The display does not support EDID. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); + } + else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + { + SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetEDID() returned error code {NVStatus}"); + } + else + { + SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetEDID() returned error code {NVStatus}"); + } + } + + + // Create an array of all the important display info we need to record + List displayInfo = new List(); + displayInfo.Add("NVIDIA"); + try + { + displayInfo.Add(gpuName.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Name from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(busType.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Bus Type from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(busId.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Bus ID from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(oneDisplay.ConnectorType.ToString("G")); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Output ID from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(manufacturerName.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Manufacturer Name for the display from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(productCode.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Product Code for the display from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(serialNumber.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Serial Number for the display from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(oneDisplay.DisplayId.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting Display ID from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + // Create a display identifier out of it + string displayIdentifier = String.Join("|", displayInfo); + // Add it to the list of display identifiers so we can return it + // but only add it if it doesn't already exist. Otherwise we get duplicates :/ + if (!displayIdentifiers.Contains(displayIdentifier)) + { + displayIdentifiers.Add(displayIdentifier); + SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); + } + } + } } // Sort the display identifiers @@ -1507,130 +2451,22 @@ namespace DisplayMagicianShared.Windows return displayIdentifiers; } - public List GetCurrentPCIVideoCardVendors() + public static bool ListOfArraysEqual(List a1, List a2) { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Getting the current PCI vendor ids for the videocards reported to Windows"); - List videoCardVendorIds = new List(); - - - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Testing whether the display configuration is valid (allowing tweaks)."); - // Get the size of the largest Active Paths and Modes arrays - int pathCount = 0; - int modeCount = 0; - WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + if (a1.Count == a2.Count) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); - } - - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); - var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"WinLibrary/GetCurrentPCIVideoCardVendors: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Getting the size of the largest Active Paths and Modes arrays"); - // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again - // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig - err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); - if (err != WIN32STATUS.ERROR_SUCCESS) + for (int i = 0; i < a1.Count; i++) { - SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); - } - SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); - paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; - modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; - err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); - if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); - } - } - else if (err != WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); - throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); - } - - foreach (var path in paths) - { - if (path.TargetInfo.TargetAvailable == false) - { - // We want to skip this one cause it's not valid - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); - continue; - } - - // get display adapter name - var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); - adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; - adapterInfo.Header.Size = (uint)Marshal.SizeOf(); - adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; - adapterInfo.Header.Id = path.TargetInfo.Id; - err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); - if (err == WIN32STATUS.ERROR_SUCCESS) - { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Successfully got the display name info from {path.TargetInfo.Id}."); - } - else - { - SharedLogger.logger.Warn($"WinLibrary/GetCurrentPCIVideoCardVendors: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); - } - - try - { - // The AdapterDevicePath is something like "\\\\?\\PCI#VEN_10DE&DEV_2482&SUBSYS_408E1458&REV_A1#4&2283f625&0&0019#{5b45201d-f2f2-4f3b-85bb-30ff1f953599}" - // We only want the vendor ID - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The AdapterDevicePath for this path is :{adapterInfo.AdapterDevicePath}"); - // Match against the vendor ID - string pattern = @"VEN_([\d\w]{4})&"; - Match match = Regex.Match(adapterInfo.AdapterDevicePath, pattern); - if (match.Success) + if (a1[i].Length == a2[i].Length) { - string VendorId = match.Groups[1].Value; - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The matched PCI Vendor ID is :{VendorId }"); - if (!videoCardVendorIds.Contains(VendorId)) + for (int j = 0; j < a1[i].Length; j++) { - videoCardVendorIds.Add(VendorId); - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Stored PCI vendor ID {VendorId} as we haven't already got it"); + if (a1[i][j] != a2[i][j]) + { + return false; + } } } - else - { - SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The PCI Vendor ID pattern wasn't matched so we didn't record a vendor ID."); - } - - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"WinLibrary/GetCurrentPCIVideoCardVendors: Exception getting PCI Vendor ID from Display Adapter {path.SourceInfo.AdapterId}."); - } - - } - - return videoCardVendorIds; - - } - - public static bool GDISettingsEqual(Dictionary gdi1, Dictionary gdi2) - { - if (gdi1.Count == gdi2.Count) - { - for (int i = 0; i < gdi1.Count; i++) - { - if (gdi1.Values.ToList()[i] != gdi2.Values.ToList()[i]) - { - return false; - } } return true; } @@ -1640,15 +2476,42 @@ namespace DisplayMagicianShared.Windows } } + public static bool Arrays2DEqual(int[][] a1, int[][] a2) + { + if (a1.Length == a2.Length) + { + for (int i = 0; i < a1.Length; i++) + { + if (a1[i].Length == a2[i].Length) + { + for (int j = 0; j < a1[i].Length; j++) + { + if (a1[i][j] != a2[i][j]) + { + return false; + } + } + } + } + return true; + } + else + { + return false; + } + } } + + + [global::System.Serializable] - public class WinLibraryException : Exception + public class NVIDIALibraryException : Exception { - public WinLibraryException() { } - public WinLibraryException(string message) : base(message) { } - public WinLibraryException(string message, Exception inner) : base(message, inner) { } - protected WinLibraryException( + public NVIDIALibraryException() { } + public NVIDIALibraryException(string message) : base(message) { } + public NVIDIALibraryException(string message, Exception inner) : base(message, inner) { } + protected NVIDIALibraryException( System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { } } From 21d173b6ca7184794e7bb672e543957eadbfc415 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 13 Nov 2021 21:30:21 +1300 Subject: [PATCH 102/112] Fixed mistake --- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 27 +- DisplayMagicianShared/Windows/WinLibrary.cs | 3526 ++++++----------- 2 files changed, 1325 insertions(+), 2228 deletions(-) diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 14e85e1..2740262 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -8,6 +8,7 @@ using DisplayMagicianShared; using System.ComponentModel; using DisplayMagicianShared.Windows; using EDIDParser; +using System.Threading.Tasks; namespace DisplayMagicianShared.NVIDIA { @@ -1308,14 +1309,16 @@ namespace DisplayMagicianShared.NVIDIA continue; } - // If this is a setting that says it will use default windows colour settings, then we turn it off - if (colorData.ColorSelectionPolicy == NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + // If the setting for this display is not the same as we want, then we set it to NV_COLOR_SELECTION_POLICY_BEST_QUALITY + if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + // Force the colorData to be NV_COLOR_SELECTION_POLICY_BEST_QUALITY so that we return the color control to Windows + // We will change the colorData to whatever is required later on colorData = displayConfig.ColorConfig.ColorData[displayId]; + colorData.ColorSelectionPolicy = NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY; SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); @@ -1404,8 +1407,8 @@ namespace DisplayMagicianShared.NVIDIA continue; } - // if it's not an HDR then we turn off HDR - if (hdrColorData.HdrMode == NV_HDR_MODE.OFF && ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + // if it's not the same HDR we want, then we turn off HDR (and will apply it if needed later on in SetActiveOverride) + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); @@ -1418,6 +1421,7 @@ namespace DisplayMagicianShared.NVIDIA SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); // Apply the HDR removal hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; + hdrColorData.HdrMode = NV_HDR_MODE.OFF; NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { @@ -1461,6 +1465,7 @@ namespace DisplayMagicianShared.NVIDIA } + // Now we've set the color the way we want it, lets do the thing // We want to check the NVIDIA Surround (Mosaic) config is valid SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Testing whether the display configuration is valid"); // @@ -1481,6 +1486,7 @@ namespace DisplayMagicianShared.NVIDIA if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); + //Task.Delay(500); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) { @@ -1534,7 +1540,8 @@ namespace DisplayMagicianShared.NVIDIA NVStatus = NVImport.NvAPI_Mosaic_EnableCurrentTopo(enable); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_EnableCurrentTopo returned OK."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_EnableCurrentTopo returned OK. Previously set Mosiac config re-enabled."); + //Task.Delay(500); } else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) { @@ -1591,6 +1598,8 @@ namespace DisplayMagicianShared.NVIDIA if (_initialised) { + // Force another scan of what the display config is so that the following logic works + UpdateActiveConfig(); NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; @@ -1611,8 +1620,7 @@ namespace DisplayMagicianShared.NVIDIA } // If this is a setting that says it uses user colour settings, then we turn it off - if (colorData.ColorSelectionPolicy != NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_DEFAULT && - ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) + if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); @@ -1706,8 +1714,7 @@ namespace DisplayMagicianShared.NVIDIA } // if it's HDR and it's a different mode than what we are in now, then set HDR - if (hdrColorData.HdrMode != NV_HDR_MODE.OFF && - ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) + if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index 2740262..b1ef8b1 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -2,154 +2,82 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; -using System.Text; using Microsoft.Win32.SafeHandles; -using DisplayMagicianShared; -using System.ComponentModel; -using DisplayMagicianShared.Windows; -using EDIDParser; -using System.Threading.Tasks; +using System.Text.RegularExpressions; -namespace DisplayMagicianShared.NVIDIA +namespace DisplayMagicianShared.Windows { - [StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_MOSAIC_CONFIG : IEquatable + public struct ADVANCED_HDR_INFO_PER_PATH : IEquatable { - public bool IsMosaicEnabled; - public NV_MOSAIC_TOPO_BRIEF MosaicTopologyBrief; - public NV_MOSAIC_DISPLAY_SETTING_V2 MosaicDisplaySettings; - public Int32 OverlapX; - public Int32 OverlapY; - public NV_MOSAIC_GRID_TOPO_V2[] MosaicGridTopos; - public UInt32 MosaicGridCount; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = (Int32)NVImport.NV_MOSAIC_MAX_DISPLAYS)] - public List MosaicViewports; - public UInt32 PrimaryDisplayId; - - public override bool Equals(object obj) => obj is NVIDIA_MOSAIC_CONFIG other && this.Equals(other); - - public bool Equals(NVIDIA_MOSAIC_CONFIG other) - => IsMosaicEnabled == other.IsMosaicEnabled && - MosaicTopologyBrief.Equals(other.MosaicTopologyBrief) && - MosaicDisplaySettings.Equals(other.MosaicDisplaySettings) && - OverlapX == other.OverlapX && - OverlapY == other.OverlapY && - MosaicGridTopos.SequenceEqual(other.MosaicGridTopos) && - MosaicGridCount == other.MosaicGridCount && - NVIDIALibrary.ListOfArraysEqual(MosaicViewports, other.MosaicViewports) && - PrimaryDisplayId == other.PrimaryDisplayId; + public LUID AdapterId; + public uint Id; + public DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO AdvancedColorInfo; + public DISPLAYCONFIG_SDR_WHITE_LEVEL SDRWhiteLevel; + public override bool Equals(object obj) => obj is ADVANCED_HDR_INFO_PER_PATH other && this.Equals(other); + public bool Equals(ADVANCED_HDR_INFO_PER_PATH other) + => // AdapterId.Equals(other.AdapterId) && // Removed the AdapterId from the Equals, as it changes after reboot. + //Id == other.Id && // Removed the ID too, as that changes if the user has a Clone! + AdvancedColorInfo.Equals(other.AdvancedColorInfo) && + SDRWhiteLevel.Equals(other.SDRWhiteLevel); public override int GetHashCode() { - return (IsMosaicEnabled, MosaicTopologyBrief, MosaicDisplaySettings, OverlapX, OverlapY, MosaicGridTopos, MosaicGridCount, MosaicViewports, PrimaryDisplayId).GetHashCode(); + return (Id, AdvancedColorInfo, SDRWhiteLevel).GetHashCode(); } - public static bool operator ==(NVIDIA_MOSAIC_CONFIG lhs, NVIDIA_MOSAIC_CONFIG rhs) => lhs.Equals(rhs); - public static bool operator !=(NVIDIA_MOSAIC_CONFIG lhs, NVIDIA_MOSAIC_CONFIG rhs) => !(lhs == rhs); + public static bool operator ==(ADVANCED_HDR_INFO_PER_PATH lhs, ADVANCED_HDR_INFO_PER_PATH rhs) => lhs.Equals(rhs); + + public static bool operator !=(ADVANCED_HDR_INFO_PER_PATH lhs, ADVANCED_HDR_INFO_PER_PATH rhs) => !(lhs == rhs); } [StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_HDR_CONFIG : IEquatable + public struct WINDOWS_DISPLAY_CONFIG : IEquatable { - public Dictionary HdrCapabilities; - public Dictionary HdrColorData; - public bool IsNvHdrEnabled; - - public override bool Equals(object obj) => obj is NVIDIA_HDR_CONFIG other && this.Equals(other); - public bool Equals(NVIDIA_HDR_CONFIG other) - => HdrCapabilities.SequenceEqual(other.HdrCapabilities) && - HdrColorData.SequenceEqual(other.HdrColorData) && - IsNvHdrEnabled == other.IsNvHdrEnabled; - - public override int GetHashCode() - { - return (HdrCapabilities, HdrColorData, IsNvHdrEnabled).GetHashCode(); - } - public static bool operator ==(NVIDIA_HDR_CONFIG lhs, NVIDIA_HDR_CONFIG rhs) => lhs.Equals(rhs); - - public static bool operator !=(NVIDIA_HDR_CONFIG lhs, NVIDIA_HDR_CONFIG rhs) => !(lhs == rhs); - } - - [StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_COLOR_CONFIG : IEquatable - { - public Dictionary ColorData; - - public override bool Equals(object obj) => obj is NVIDIA_COLOR_CONFIG other && this.Equals(other); - public bool Equals(NVIDIA_COLOR_CONFIG other) - => ColorData.SequenceEqual(other.ColorData); - - public override int GetHashCode() - { - return (ColorData).GetHashCode(); - } - public static bool operator ==(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => lhs.Equals(rhs); - - public static bool operator !=(NVIDIA_COLOR_CONFIG lhs, NVIDIA_COLOR_CONFIG rhs) => !(lhs == rhs); - } - - /*[StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_CUSTOM_DISPLAY_CONFIG : IEquatable - { - public List CustomDisplay; - - public override bool Equals(object obj) => obj is NVIDIA_CUSTOM_DISPLAY_CONFIG other && this.Equals(other); - public bool Equals(NVIDIA_CUSTOM_DISPLAY_CONFIG other) - => CustomDisplay.SequenceEqual(other.CustomDisplay); - - public override int GetHashCode() - { - return (CustomDisplay).GetHashCode(); - } - public static bool operator ==(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); - - public static bool operator !=(NVIDIA_CUSTOM_DISPLAY_CONFIG lhs, NVIDIA_CUSTOM_DISPLAY_CONFIG rhs) => !(lhs == rhs); - }*/ - - [StructLayout(LayoutKind.Sequential)] - public struct NVIDIA_DISPLAY_CONFIG : IEquatable - { - public NVIDIA_MOSAIC_CONFIG MosaicConfig; - public NVIDIA_HDR_CONFIG HdrConfig; - public NVIDIA_COLOR_CONFIG ColorConfig; - public Dictionary> CustomDisplays; - public List DisplayConfigs; - // Note: We purposely have left out the DisplayNames from the Equals as it's order keeps changing after each reboot and after each profile swap + public Dictionary DisplayAdapters; + public DISPLAYCONFIG_PATH_INFO[] DisplayConfigPaths; + public DISPLAYCONFIG_MODE_INFO[] DisplayConfigModes; + public ADVANCED_HDR_INFO_PER_PATH[] DisplayHDRStates; + public Dictionary GdiDisplaySettings; + public bool IsCloned; + // Note: We purposely have left out the DisplaySources from the Equals as it's order keeps changing after each reboot and after each profile swap // and it is informational only and doesn't contribute to the configuration (it's used for generating the Screens structure, and therefore for // generating the profile icon. - public Dictionary DisplayNames; + public Dictionary> DisplaySources; public List DisplayIdentifiers; - public override bool Equals(object obj) => obj is NVIDIA_DISPLAY_CONFIG other && this.Equals(other); - - public bool Equals(NVIDIA_DISPLAY_CONFIG other) - => MosaicConfig.Equals(other.MosaicConfig) && - HdrConfig.Equals(other.HdrConfig) && - ColorConfig.Equals(other.ColorConfig) && - CustomDisplays.SequenceEqual(other.CustomDisplays) && - DisplayConfigs.SequenceEqual(other.DisplayConfigs) && + public override bool Equals(object obj) => obj is WINDOWS_DISPLAY_CONFIG other && this.Equals(other); + public bool Equals(WINDOWS_DISPLAY_CONFIG other) + => IsCloned == other.IsCloned && + DisplayConfigPaths.SequenceEqual(other.DisplayConfigPaths) && + DisplayConfigModes.SequenceEqual(other.DisplayConfigModes) && + DisplayHDRStates.SequenceEqual(other.DisplayHDRStates) && + // The dictionary keys sometimes change after returning from NVIDIA Surround, so we need to only focus on comparing the values of the GDISettings. + // Additionally, we had to disable the DEviceKey from the equality testing within the GDI library itself as that waould also change after changing back from NVIDIA surround + // This still allows us to detect when refresh rates change, which will allow DisplayMagician to detect profile differences. + GdiDisplaySettings.Values.SequenceEqual(other.GdiDisplaySettings.Values) && DisplayIdentifiers.SequenceEqual(other.DisplayIdentifiers); public override int GetHashCode() { - return (MosaicConfig, HdrConfig, CustomDisplays, DisplayConfigs, DisplayIdentifiers, DisplayNames).GetHashCode(); + //return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, GdiDisplaySettings.Values, IsCloned, DisplayIdentifiers).GetHashCode(); + return (DisplayConfigPaths, DisplayConfigModes, DisplayHDRStates, IsCloned, DisplayIdentifiers).GetHashCode(); } - public static bool operator ==(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); + public static bool operator ==(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => lhs.Equals(rhs); - public static bool operator !=(NVIDIA_DISPLAY_CONFIG lhs, NVIDIA_DISPLAY_CONFIG rhs) => !(lhs == rhs); + public static bool operator !=(WINDOWS_DISPLAY_CONFIG lhs, WINDOWS_DISPLAY_CONFIG rhs) => !(lhs == rhs); } - public class NVIDIALibrary : IDisposable + public class WinLibrary : IDisposable { // Static members are 'eagerly initialized', that is, // immediately when class is loaded for the first time. // .NET guarantees thread safety for static initialization - private static NVIDIALibrary _instance = new NVIDIALibrary(); + private static WinLibrary _instance = new WinLibrary(); private bool _initialised = false; - private NVIDIA_DISPLAY_CONFIG _activeDisplayConfig; + private WINDOWS_DISPLAY_CONFIG _activeDisplayConfig; // To detect redundant calls private bool _disposed = false; @@ -157,53 +85,18 @@ namespace DisplayMagicianShared.NVIDIA // Instantiate a SafeHandle instance. private SafeHandle _safeHandle = new SafeFileHandle(IntPtr.Zero, true); - static NVIDIALibrary() { } - public NVIDIALibrary() + static WinLibrary() { } + public WinLibrary() { - _activeDisplayConfig = CreateDefaultConfig(); - try - { - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Attempting to load the NVIDIA NVAPI DLL"); - // Attempt to prelink all of the NVAPI functions - //Marshal.PrelinkAll(typeof(NVImport)); - - // If we get here then we definitely have the NVIDIA driver available. - NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - SharedLogger.logger.Trace("NVIDIALibrary/NVIDIALibrary: Intialising NVIDIA NVAPI library interface"); - // Step 1: Initialise the NVAPI - try - { - if (NVImport.IsAvailable()) - { - _initialised = true; - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: NVIDIA NVAPI library was initialised successfully"); - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Running UpdateActiveConfig to ensure there is a config to use later"); - _activeDisplayConfig = GetActiveConfig(); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/NVIDIALibrary: Error intialising NVIDIA NVAPI library. NvAPI_Initialize() returned error code {NVStatus}"); - } - - } - catch (Exception ex) - { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/NVIDIALibrary: Exception intialising NVIDIA NVAPI library. NvAPI_Initialize() caused an exception."); - } - - } - catch (DllNotFoundException ex) - { - // If this fires, then the DLL isn't available, so we need don't try to do anything else - SharedLogger.logger.Info(ex, $"NVIDIALibrary/NVIDIALibrary: Exception trying to load the NVIDIA NVAPI DLL. This generally means you don't have the NVIDIA driver installed."); - } - + SharedLogger.logger.Trace("WinLibrary/WinLibrary: Intialising Windows CCD library interface"); + _initialised = true; + _activeDisplayConfig = GetActiveConfig(); } - ~NVIDIALibrary() + ~WinLibrary() { - SharedLogger.logger.Trace("NVIDIALibrary/~NVIDIALibrary: Destroying NVIDIA NVAPI library interface"); - // The NVAPI library automatically runs NVAPI_Unload on Exit, so no need for anything here. + // The WinLibrary was initialised, but doesn't need to be freed. + SharedLogger.logger.Trace("WinLibrary/~WinLibrary: Destroying Windows CCD library interface"); } // Public implementation of Dispose pattern callable by consumers. @@ -219,7 +112,6 @@ namespace DisplayMagicianShared.NVIDIA if (disposing) { - // Dispose managed state (managed objects). _safeHandle?.Dispose(); } @@ -236,7 +128,7 @@ namespace DisplayMagicianShared.NVIDIA } } - public NVIDIA_DISPLAY_CONFIG ActiveDisplayConfig + public WINDOWS_DISPLAY_CONFIG ActiveDisplayConfig { get { @@ -252,2197 +144,1314 @@ namespace DisplayMagicianShared.NVIDIA } } - public List PCIVendorIDs - { - get - { - return new List() { "10DE" }; - } - } - - public static NVIDIALibrary GetLibrary() + public static WinLibrary GetLibrary() { return _instance; } - public NVIDIA_DISPLAY_CONFIG CreateDefaultConfig() + public WINDOWS_DISPLAY_CONFIG CreateDefaultConfig() { - NVIDIA_DISPLAY_CONFIG myDefaultConfig = new NVIDIA_DISPLAY_CONFIG(); + WINDOWS_DISPLAY_CONFIG myDefaultConfig = new WINDOWS_DISPLAY_CONFIG(); // Fill in the minimal amount we need to avoid null references // so that we won't break json.net when we save a default config - myDefaultConfig.MosaicConfig.MosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[0]; - myDefaultConfig.MosaicConfig.MosaicViewports = new List(); - myDefaultConfig.HdrConfig.HdrCapabilities = new Dictionary(); - myDefaultConfig.HdrConfig.HdrColorData = new Dictionary(); - myDefaultConfig.ColorConfig.ColorData = new Dictionary(); - myDefaultConfig.CustomDisplays = new Dictionary>(); - myDefaultConfig.DisplayConfigs = new List(); - myDefaultConfig.DisplayNames = new Dictionary(); + myDefaultConfig.DisplayAdapters = new Dictionary(); + myDefaultConfig.DisplayConfigModes = new DISPLAYCONFIG_MODE_INFO[0]; + myDefaultConfig.DisplayConfigPaths = new DISPLAYCONFIG_PATH_INFO[0]; + myDefaultConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[0]; myDefaultConfig.DisplayIdentifiers = new List(); + myDefaultConfig.DisplaySources = new Dictionary>(); + myDefaultConfig.IsCloned = false; + myDefaultConfig.GdiDisplaySettings = new Dictionary(); return myDefaultConfig; } + private void PatchAdapterIDs(ref WINDOWS_DISPLAY_CONFIG savedDisplayConfig, Dictionary currentAdapterMap) + { + + Dictionary adapterOldToNewMap = new Dictionary(); + + SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to figure out the old adapterIDs"); + foreach (KeyValuePair savedAdapter in savedDisplayConfig.DisplayAdapters) + { + foreach (KeyValuePair currentAdapter in currentAdapterMap) + { + if (currentAdapter.Value.Equals(savedAdapter.Value)) + { + // we have found the new LUID Value for the same adapter + // So we want to store it + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: We found that saved adapter {savedAdapter.Key} has now been assigned adapter id {currentAdapter.Key} (AdapterName is {savedAdapter.Value})"); + adapterOldToNewMap.Add(savedAdapter.Key, currentAdapter.Key); + } + } + } + + ulong newAdapterValue = 0; + // Update the paths with the current adapter id + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config paths to update the adapter id"); + for (int i = 0; i < savedDisplayConfig.DisplayConfigPaths.Length; i++) + { + // Change the Path SourceInfo and TargetInfo AdapterIDs + if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value)) + { + // We get here if there is a matching adapter + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value]; + savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId.Value]; + savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); + } + else + { + // if there isn't a matching adapter, then we just pick the first current one and hope that works! + // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) + newAdapterValue = currentAdapterMap.First().Key; + SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + savedDisplayConfig.DisplayConfigPaths[i].SourceInfo.AdapterId = AdapterValueToLUID(newAdapterValue); + savedDisplayConfig.DisplayConfigPaths[i].TargetInfo.AdapterId = AdapterValueToLUID(newAdapterValue); + } + } + + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config modes to update the adapter id"); + // Update the modes with the current adapter id + for (int i = 0; i < savedDisplayConfig.DisplayConfigModes.Length; i++) + { + // Change the Mode AdapterID + if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value)) + { + // We get here if there is a matching adapter + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value]; + savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); + } + else + { + // if there isn't a matching adapter, then we just pick the first current one and hope that works! + // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) + newAdapterValue = currentAdapterMap.First().Key; + SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayConfigModes[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + savedDisplayConfig.DisplayConfigModes[i].AdapterId = AdapterValueToLUID(newAdapterValue); + } + } + + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: Going through the display config HDR info to update the adapter id"); + // Update the HDRInfo with the current adapter id + for (int i = 0; i < savedDisplayConfig.DisplayHDRStates.Length; i++) + { + // Change the Mode AdapterID + if (adapterOldToNewMap.ContainsKey(savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value)) + { + // We get here if there is a matching adapter + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value]; + savedDisplayConfig.DisplayHDRStates[i].AdapterId = AdapterValueToLUID(newAdapterValue); + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId.Value]; + savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); + newAdapterValue = adapterOldToNewMap[savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId.Value]; + savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); + } + else + { + // if there isn't a matching adapter, then we just pick the first current one and hope that works! + // (it is highly likely to... its only if the user has multiple graphics cards with some weird config it may break) + newAdapterValue = currentAdapterMap.First().Key; + SharedLogger.logger.Warn($"WinLibrary/PatchAdapterIDs: Uh Oh. Adapter {savedDisplayConfig.DisplayHDRStates[i].AdapterId.Value} didn't have a current match! It's possible the adapter was swapped or disabled. Attempting to use adapter {newAdapterValue} instead."); + savedDisplayConfig.DisplayHDRStates[i].AdapterId = AdapterValueToLUID(newAdapterValue); + savedDisplayConfig.DisplayHDRStates[i].AdvancedColorInfo.Header.AdapterId = AdapterValueToLUID(newAdapterValue); + savedDisplayConfig.DisplayHDRStates[i].SDRWhiteLevel.Header.AdapterId = AdapterValueToLUID(newAdapterValue); + } + } + + } + public bool UpdateActiveConfig() { - SharedLogger.logger.Trace($"NVIDIALibrary/UpdateActiveConfig: Updating the currently active config"); + SharedLogger.logger.Trace($"WinLibrary/UpdateActiveConfig: Updating the currently active config"); try { _activeDisplayConfig = GetActiveConfig(); } catch (Exception ex) { - SharedLogger.logger.Trace(ex, $"NVIDIALibrary/UpdateActiveConfig: Exception updating the currently active config"); + SharedLogger.logger.Trace(ex, $"WinLibrary/UpdateActiveConfig: Exception updating the currently active config"); return false; } return true; } - public NVIDIA_DISPLAY_CONFIG GetActiveConfig() + public WINDOWS_DISPLAY_CONFIG GetActiveConfig() { - SharedLogger.logger.Trace($"NVIDIALibrary/GetActiveConfig: Getting the currently active config"); - bool allDisplays = false; - return GetNVIDIADisplayConfig(allDisplays); + SharedLogger.logger.Trace($"WinLibrary/GetActiveConfig: Getting the currently active config"); + return GetWindowsDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS); } - private NVIDIA_DISPLAY_CONFIG GetNVIDIADisplayConfig(bool allDisplays = false) + private WINDOWS_DISPLAY_CONFIG GetWindowsDisplayConfig(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) { - NVIDIA_DISPLAY_CONFIG myDisplayConfig = new NVIDIA_DISPLAY_CONFIG(); - - if (_initialised) + // Get the size of the largest Active Paths and Modes arrays + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); + int pathCount = 0; + int modeCount = 0; + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) { - // Enumerate all the Physical GPUs - PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NVAPI_MAX_PHYSICAL_GPUS]; - uint physicalGpuCount = 0; - NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); - } - - // Go through the Physical GPUs one by one - for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) - { - //This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce) - uint quadroStatus = 0; - NVStatus = NVImport.NvAPI_GPU_GetQuadroStatus(physicalGpus[physicalGpuIndex], out quadroStatus); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - if (quadroStatus == 0) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the GeForce range"); - } - else if (quadroStatus == 1) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the Quadro range"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is neither a GeForce or Quadro range vodeo card (QuadroStatus = {quadroStatus})"); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting Quadro status. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); - } - } - - // Get current Mosaic Topology settings in brief (check whether Mosaic is on) - NV_MOSAIC_TOPO_BRIEF mosaicTopoBrief = new NV_MOSAIC_TOPO_BRIEF(); - NV_MOSAIC_DISPLAY_SETTING_V2 mosaicDisplaySettings = new NV_MOSAIC_DISPLAY_SETTING_V2(); - int mosaicOverlapX = 0; - int mosaicOverlapY = 0; - NVStatus = NVImport.NvAPI_Mosaic_GetCurrentTopo(ref mosaicTopoBrief, ref mosaicDisplaySettings, out mosaicOverlapX, out mosaicOverlapY); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - - // Check if there is a topology and that Mosaic is enabled - if (mosaicTopoBrief.Topo != NV_MOSAIC_TOPO.TOPO_NONE && mosaicTopoBrief.Enabled == 1) - { - // Mosaic is enabled! - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is enabled."); - myDisplayConfig.MosaicConfig.MosaicTopologyBrief = mosaicTopoBrief; - myDisplayConfig.MosaicConfig.MosaicDisplaySettings = mosaicDisplaySettings; - myDisplayConfig.MosaicConfig.OverlapX = mosaicOverlapX; - myDisplayConfig.MosaicConfig.OverlapY = mosaicOverlapY; - myDisplayConfig.MosaicConfig.IsMosaicEnabled = true; - - // Get more Mosaic Topology detailed settings - NV_MOSAIC_TOPO_GROUP mosaicTopoGroup = new NV_MOSAIC_TOPO_GROUP(); - NVStatus = NVImport.NvAPI_Mosaic_GetTopoGroup(ref mosaicTopoBrief, ref mosaicTopoGroup); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetTopoGroup returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The version of the structure passed in is not supported by this driver. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetTopoGroup() returned error code {NVStatus}"); - } - - // Figure out how many Mosaic Grid topoligies there are - uint mosaicGridCount = 0; - NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); - } - - // Get Current Mosaic Grid settings using the Grid topologies fnumbers we got before - NV_MOSAIC_GRID_TOPO_V2[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[mosaicGridCount]; - NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridTopos, ref mosaicGridCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_EnumDisplayGrids returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnumDisplayGrids() returned error code {NVStatus}"); - } - - myDisplayConfig.MosaicConfig.MosaicGridTopos = mosaicGridTopos; - myDisplayConfig.MosaicConfig.MosaicGridCount = mosaicGridCount; - - List allViewports = new List(); - foreach (NV_MOSAIC_GRID_TOPO_V2 gridTopo in mosaicGridTopos) - { - // Get Current Mosaic Grid settings using the Grid topologies numbers we got before - NV_RECT[] viewports = new NV_RECT[NVImport.NV_MOSAIC_MAX_DISPLAYS]; - byte bezelCorrected = 0; - NVStatus = NVImport.NvAPI_Mosaic_GetDisplayViewportsByResolution(gridTopo.Displays[0].DisplayId, 0, 0, ref viewports, ref bezelCorrected); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetDisplayViewportsByResolution returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_MOSAIC_NOT_ACTIVE) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The requested action cannot be performed without Mosaic being enabled. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetDisplayViewportsByResolution() returned error code {NVStatus}"); - } - // Save the viewports to the List - allViewports.Add(viewports); - - } - - myDisplayConfig.MosaicConfig.MosaicViewports = allViewports; - } - else - { - // Mosaic isn't enabled - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is NOT enabled."); - myDisplayConfig.MosaicConfig.MosaicTopologyBrief = mosaicTopoBrief; - myDisplayConfig.MosaicConfig.IsMosaicEnabled = false; - myDisplayConfig.MosaicConfig.MosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[] { }; - myDisplayConfig.MosaicConfig.MosaicViewports = new List(); - } - - // Check if Mosaic is possible and log that so we know if troubleshooting bugs - if (mosaicTopoBrief.IsPossible == 1) - { - // Mosaic is possible! - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is possible. Mosaic topology would be {mosaicTopoBrief.Topo.ToString("G")}."); - } - else - { - // Mosaic isn't possible - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Mosaic is NOT possible."); - } - - // Now we try to get the NVIDIA Windows Display Config. This is needed for handling some of the advanced scaling settings that some advanced users make use of - /////////////////////////////////////////////////////////////////////////////// - // FUNCTION NAME: NvAPI_DISP_GetDisplayConfig - // - //! DESCRIPTION: This API lets caller retrieve the current global display - //! configuration. - //! USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: - //! First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. - //! Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch - //! targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. - //! Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect - //! to number of targetInfoCount(from Second Pass). - //! SUPPORTED OS: Windows 7 and higher - // First pass: Figure out how many pathInfo objects there are - List allDisplayConfigs = new List(); - - /*uint pathInfoCount = 0; - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount > 0) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on first pass. We know we have {pathInfoCount} pathInfo objects to get"); - // Second pass: Now get the number of targetInfoCount for each returned pathInfoCount object - NV_DISPLAYCONFIG_PATH_INFO_V2[] pathInfos = new NV_DISPLAYCONFIG_PATH_INFO_V2[pathInfoCount]; - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on second pass."); - // Third pass: Now we send the same partially filled object back in a third time to get the target information - NVStatus = NVImport.NvAPI_DISP_GetDisplayConfig(ref pathInfoCount, ref pathInfos, true); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayConfig returned OK on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on third pass."); - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on second pass."); - } - - } - else if (NVStatus == NVAPI_STATUS.NVAPI_OK && pathInfoCount == 0) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The call was successful but no display paths were found. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more arguments passed in are invalid. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DEVICE_BUSY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: ModeSet has not yet completed. Please wait and call it again. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting NVIDIA Display Config! NvAPI_DISP_GetDisplayConfig() returned error code {NVStatus} on first pass"); - }*/ - - // We want to get the primary monitor - NVStatus = NVImport.NvAPI_DISP_GetGDIPrimaryDisplayId(out UInt32 primaryDisplayId); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetGDIPrimaryDisplayId returned OK."); - myDisplayConfig.MosaicConfig.PrimaryDisplayId = primaryDisplayId; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: There are no NVIDIA video cards in this computer. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting primary display id! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - - // We want to get the number of displays we have - // Go through the Physical GPUs one by one - for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) - { - //This function retrieves the number of display IDs we know about - UInt32 displayCount = 0; - NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayCount, 0); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on first pass. We have {displayCount} physical GPUs"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on first pass."); - } - - if (displayCount > 0) - { - // Now we try to get the information about the displayIDs - NV_GPU_DISPLAYIDS_V2[] displayIds = new NV_GPU_DISPLAYIDS_V2[displayCount]; - NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayIds, ref displayCount, 0); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK on second pass. We have {displayCount} physical GPUs"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus} on second pass."); - } - else - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting connected display ids! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus} on second pass."); - } - - - // Time to get the color settings, HDR capabilities and settings for each display - bool isNvHdrEnabled = false; - Dictionary allHdrCapabilities = new Dictionary(); - Dictionary allHdrColorData = new Dictionary(); - Dictionary allColorData = new Dictionary(); - Dictionary> allCustomDisplays = new Dictionary>(); - for (int displayIndex = 0; displayIndex < displayCount; displayIndex++) - { - if (allDisplays) - { - // We want all physicallyconnected or connected displays - if (!(displayIds[displayIndex].isConnected || displayIds[displayIndex].isPhysicallyConnected)) - { - continue; - } - } - else - { - // We want only active displays, so skip any non-active ones - if (!displayIds[displayIndex].IsActive) - { - continue; - } - } - - // We get the Color Capabilities of the display - NV_COLOR_DATA_V5 colorData = new NV_COLOR_DATA_V5(); - // Set the command as a 'GET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_GET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIds[displayIndex].DisplayId, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Your monitor {displayIds[displayIndex].DisplayId} has the following color settings set. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - allColorData.Add(displayIds[displayIndex].DisplayId.ToString(), colorData); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); - } - - // Now we get the HDR capabilities of the display - NV_HDR_CAPABILITIES_V2 hdrCapabilities = new NV_HDR_CAPABILITIES_V2(); - NVStatus = NVImport.NvAPI_Disp_GetHdrCapabilities(displayIds[displayIndex].DisplayId, ref hdrCapabilities); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_GetHdrCapabilities returned OK."); - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsST2084EotfSupported)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports HDR mode ST2084 EOTF"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support HDR mode ST2084 EOTF"); - } - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsDolbyVisionSupported)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports DolbyVision HDR"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support DolbyVision HDR"); - } - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsEdrSupported)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports EDR"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support EDR"); - } - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsTraditionalHdrGammaSupported)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Traditional HDR Gama"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support Traditional HDR Gama"); - } - - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.IsTraditionalSdrGammaSupported)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Traditional SDR Gama"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT supports Traditional SDR Gama"); - } - if (hdrCapabilities.SupportFlags.HasFlag(NV_HDR_CAPABILITIES_V2_FLAGS.DriverExpandDefaultHdrParameters)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} supports Driver Expanded Default HDR Parameters"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Display {displayIds[displayIndex].DisplayId} DOES NOT support Driver Expanded Default HDR Parameters "); - } - - allHdrCapabilities.Add(displayIds[displayIndex].DisplayId.ToString(), hdrCapabilities); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color capabilities from your display! NvAPI_Disp_GetHdrCapabilities() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); - } - - // Now we get the HDR colour settings of the display - NV_HDR_COLOR_DATA_V2 hdrColorData = new NV_HDR_COLOR_DATA_V2(); - hdrColorData.Cmd = NV_HDR_CMD.CMD_GET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIds[displayIndex].DisplayId, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Disp_HdrColorControl returned OK. HDR mode is set to {hdrColorData.HdrMode.ToString("G")}."); - if (hdrColorData.HdrMode != NV_HDR_MODE.OFF) - { - isNvHdrEnabled = true; - } - allHdrColorData.Add(displayIds[displayIndex].DisplayId.ToString(), hdrColorData); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}."); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting HDR color settings! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayIds[displayIndex].DisplayId} doesn't support HDR."); - } - - - // TEMPORARILY DISABLING THE CUSTOM DISPLAY CODE FOR NOW, AS NOT SURE WHAT NVIDIA SETTINGS IT TRACKS - // KEEPING IT IN CASE I NEED IT FOR LATER. I ORIGINALLY THOUGHT THAT IS WHERE INTEGER SCALING SETTINGS LIVED< BUT WAS WRONG - /*// Now we get the Custom Display settings of the display (if there are any) - //NVIDIA_CUSTOM_DISPLAY_CONFIG customDisplayConfig = new NVIDIA_CUSTOM_DISPLAY_CONFIG(); - List customDisplayConfig = new List(); - for (UInt32 d = 0; d < UInt32.MaxValue; d++) - { - NV_CUSTOM_DISPLAY_V1 customDisplay = new NV_CUSTOM_DISPLAY_V1(); - NVStatus = NVImport.NvAPI_DISP_EnumCustomDisplay(displayIds[displayIndex].DisplayId, d, ref customDisplay); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_EnumCustomDisplay returned OK. Custom Display settings retrieved."); - customDisplayConfig.Add(customDisplay); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_END_ENUMERATION) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: We've reached the end of the list of Custom Displays. Breaking the polling loop."); - break; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); - break; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); - break; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); - break; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The supplied struct is incompatible. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}"); - break; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); - break; - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while enumerating the custom displays! NvAPI_DISP_EnumCustomDisplay() returned error code {NVStatus}."); - break; - } - - } - if (customDisplayConfig.Count > 0) - { - allCustomDisplays.Add(displayIds[displayIndex].DisplayId, customDisplayConfig); - }*/ - } - - // Store the HDR information - myDisplayConfig.HdrConfig.IsNvHdrEnabled = isNvHdrEnabled; - myDisplayConfig.HdrConfig.HdrCapabilities = allHdrCapabilities; - myDisplayConfig.HdrConfig.HdrColorData = allHdrColorData; - myDisplayConfig.ColorConfig.ColorData = allColorData; - myDisplayConfig.CustomDisplays = allCustomDisplays; - myDisplayConfig.DisplayConfigs = allDisplayConfigs; - } - - } - - - // Now we need to loop through each of the windows paths so we can record the Windows DisplayName to DisplayID mapping - // This is needed for us to piece together the Screen layout for when we draw the NVIDIA screens! - myDisplayConfig.DisplayNames = new Dictionary(); - foreach (KeyValuePair> displaySource in WinLibrary.GetDisplaySourceNames()) - { - // Now we try to get the information about the displayIDs and map them to windows \\DISPLAY names e.g. \\DISPLAY1 - string displayName = displaySource.Key; - UInt32 displayId = 0; - NVStatus = NVImport.NvAPI_DISP_GetDisplayIdByDisplayName(displayName, out displayId); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetDisplayIdByDisplayName returned OK. The display {displayName} has NVIDIA DisplayID {displayId}"); - myDisplayConfig.DisplayNames.Add(displayId.ToString(), displayName); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: GDI Primary not on an NVIDIA GPU. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more args passed in are invalid. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetDisplayIdByDisplayName() returned error code {NVStatus}"); - } - } - - // Get the display identifiers - myDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); - } - else - { - SharedLogger.logger.Error($"NVIDIALibrary/GetNVIDIADisplayConfig: ERROR - Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); - throw new NVIDIALibraryException($"Tried to run GetNVIDIADisplayConfig but the NVIDIA NVAPI library isn't initialised!"); + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); } - // Return the configuration - return myDisplayConfig; + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); + var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); + // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again + // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig + err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + } + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); + paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); + } + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); + } + + // Prepare the empty windows display config + WINDOWS_DISPLAY_CONFIG windowsDisplayConfig = new WINDOWS_DISPLAY_CONFIG(); + windowsDisplayConfig.DisplayAdapters = new Dictionary(); + windowsDisplayConfig.DisplayHDRStates = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; + windowsDisplayConfig.DisplaySources = new Dictionary>(); + windowsDisplayConfig.IsCloned = false; + + // First of all generate the current displayIdentifiers + windowsDisplayConfig.DisplayIdentifiers = GetCurrentDisplayIdentifiers(); + + // Next, extract the UID entries for the displays as that's what the Path IDs are normally supposed to be + // This is how we know the actual target id's ofd the monitors currently connected + Regex rx = new Regex(@"UID(?\d+)#", RegexOptions.Compiled | RegexOptions.IgnoreCase); + HashSet physicalTargetIdsToFind = new HashSet(); + foreach (string displayIdentifier in windowsDisplayConfig.DisplayIdentifiers) + { + MatchCollection mc = rx.Matches(displayIdentifier); + if (mc.Count > 0) + { + physicalTargetIdsToFind.Add(UInt32.Parse(mc[0].Groups["uid"].Value)); + } + } + + // Now cycle through the paths and grab the HDR state information + // and map the adapter name to adapter id + HashSet targetIdsToChange = new HashSet(); + var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; + int hdrInfoCount = 0; + for (int i = 0; i < paths.Length; i++) + { + // Figure out if this path has a physical targetId, and if it doesn't store it + if (!physicalTargetIdsToFind.Contains(paths[i].TargetInfo.Id)) + { + // Add to the list of physical path target ids we need to patch later + targetIdsToChange.Add(paths[i].TargetInfo.Id); + } + + // Track if this display is a cloned path + bool isClonedPath = false; + // get display source name + var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); + sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; + sourceInfo.Header.Size = (uint)Marshal.SizeOf(); + sourceInfo.Header.AdapterId = paths[i].SourceInfo.AdapterId; + sourceInfo.Header.Id = paths[i].SourceInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + // Store it for later + if (windowsDisplayConfig.DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) + { + // We already have at least one display using this source, so we need to add the other cloned display to the existing list + windowsDisplayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Add(paths[i].SourceInfo.Id); + isClonedPath = true; + windowsDisplayConfig.IsCloned = true; + } + else + { + // This is the first display to use this source + List sourceIds = new List(); + sourceIds.Add(paths[i].SourceInfo.Id); + windowsDisplayConfig.DisplaySources.Add(sourceInfo.ViewGdiDeviceName, sourceIds); + } + + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {paths[i].SourceInfo.Id}."); + } + else + { + SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{paths[i].SourceInfo.AdapterId}"); + } + + // Check if this path is a cloned display path, and if so make some changes + // so that the cloned display will be applied properly + if (isClonedPath) + { + // We need to make some modifications to this path so that we store as ready for being applied + // https://docs.microsoft.com/en-us/windows-hardware/drivers/display/ccd-example-code + paths[i].Flags |= DISPLAYCONFIG_PATH_FLAGS.DISPLAYCONFIG_PATH_ACTIVE; + paths[i].SourceInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; + paths[i].TargetInfo.ModeInfoIdx = CCDImport.DISPLAYCONFIG_PATH_MODE_IDX_INVALID; + } + + // Get adapter ID for later + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); + if (!windowsDisplayConfig.DisplayAdapters.ContainsKey(paths[i].TargetInfo.AdapterId.Value)) + { + var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); + adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; + adapterInfo.Header.Size = (uint)Marshal.SizeOf(); + adapterInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + adapterInfo.Header.Id = paths[i].TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + // Store it for later + windowsDisplayConfig.DisplayAdapters.Add(paths[i].TargetInfo.AdapterId.Value, adapterInfo.AdapterDevicePath); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found adapter name {adapterInfo.AdapterDevicePath} for adapter {paths[i].TargetInfo.AdapterId.Value}."); + } + else + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to query the adapter name for adapter {paths[i].TargetInfo.AdapterId.Value}."); + } + } + + // Get advanced color info + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get advanced color info for display {paths[i].TargetInfo.Id}."); + var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); + colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; + colorInfo.Header.Size = (uint)Marshal.SizeOf(); + colorInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + colorInfo.Header.Id = paths[i].TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found color info for display {paths[i].TargetInfo.Id}."); + if (colorInfo.AdvancedColorSupported) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is supported for display {paths[i].TargetInfo.Id}."); + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT supported for display {paths[i].TargetInfo.Id}."); + } + if (colorInfo.AdvancedColorEnabled) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is enabled for display {paths[i].TargetInfo.Id}."); + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: HDR is NOT enabled for display {paths[i].TargetInfo.Id}."); + } + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get advanced color settings for display {paths[i].TargetInfo.Id}."); + } + + // get SDR white levels + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Attempting to get SDR white levels for adapter {paths[i].TargetInfo.AdapterId.Value}."); + var whiteLevelInfo = new DISPLAYCONFIG_SDR_WHITE_LEVEL(); + whiteLevelInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL; + whiteLevelInfo.Header.Size = (uint)Marshal.SizeOf(); + whiteLevelInfo.Header.AdapterId = paths[i].TargetInfo.AdapterId; + whiteLevelInfo.Header.Id = paths[i].TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref whiteLevelInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White levels for display {paths[i].TargetInfo.Id}."); + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get SDR White levels for display {paths[i].TargetInfo.Id}."); + } + + hdrInfos[hdrInfoCount] = new ADVANCED_HDR_INFO_PER_PATH(); + hdrInfos[hdrInfoCount].AdapterId = paths[i].TargetInfo.AdapterId; + hdrInfos[hdrInfoCount].Id = paths[i].TargetInfo.Id; + hdrInfos[hdrInfoCount].AdvancedColorInfo = colorInfo; + hdrInfos[hdrInfoCount].SDRWhiteLevel = whiteLevelInfo; + hdrInfoCount++; + } + + // Now we need to figure out the maps between the cloned ID and the real physical target id + // the Advanced color info structure actually holds this information! So lets mine it. + Dictionary targetIdMap = new Dictionary(); + foreach (var hdrInfo in hdrInfos) + { + targetIdMap[hdrInfo.Id] = hdrInfo.AdvancedColorInfo.Header.Id; + } + + // Now we need to go through the list of paths again and patch the 'cloned' displays with a real display ID so the config works + for (int i = 0; i < paths.Length; i++) + { + if (targetIdsToChange.Contains(paths[i].TargetInfo.Id)) + { + // Patch the cloned ids with a real working one! + paths[i].TargetInfo.Id = targetIdMap[paths[i].TargetInfo.Id]; + } + } + + // And then we need to go through the list of modes again and patch the 'cloned' displays with a real display ID so the display layout is right in cloned displays + for (int i = 0; i < modes.Length; i++) + { + // We only change the ids that match in InfoType for target displays + if (modes[i].InfoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET && targetIdsToChange.Contains(modes[i].Id)) + { + // Patch the cloned ids with a real working one! + modes[i].Id = targetIdMap[modes[i].Id]; + } + } + + // Store the active paths and modes in our display config object + windowsDisplayConfig.DisplayConfigPaths = paths; + windowsDisplayConfig.DisplayConfigModes = modes; + windowsDisplayConfig.DisplayHDRStates = hdrInfos; + windowsDisplayConfig.GdiDisplaySettings = GetGdiDisplaySettings(); + + return windowsDisplayConfig; } + public Dictionary GetGdiDisplaySettings() + { + // Get the list of all display adapters in this machine through GDI + Dictionary gdiDeviceSettings = new Dictionary(); + Dictionary gdiDeviceSources = new Dictionary(); + UInt32 displayDeviceNum = 0; + DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); + displayDevice.Size = (UInt32)Marshal.SizeOf(); + while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) + { + // Now we try and grab the GDI Device Settings for each display device + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) + { + // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display + // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + DEVICE_MODE currentMode = new DEVICE_MODE(); + currentMode.Size = (UInt16)Marshal.SizeOf(); + bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); + if (gdiWorked) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); + GDI_DISPLAY_SETTING myDisplaySetting = new GDI_DISPLAY_SETTING(); + myDisplaySetting.IsEnabled = true; // Always true if we get here + myDisplaySetting.Device = displayDevice; + myDisplaySetting.DeviceMode = currentMode; + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)) + { + // This is a primary device, so we'll set that too. + myDisplaySetting.IsPrimary = true; + } + gdiDeviceSettings[displayDevice.DeviceKey] = myDisplaySetting; + gdiDeviceSources[displayDevice.DeviceName] = displayDevice.DeviceKey; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); + } + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); + } + + displayDeviceNum++; + } + return gdiDeviceSettings; + } + + public static Dictionary> GetDisplaySourceNames() + { + // Get the size of the largest Active Paths and Modes arrays + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); + int pathCount = 0; + int modeCount = 0; + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + } + + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); + var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the size of the largest Active Paths and Modes arrays"); + // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again + // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig + err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + } + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Config path and mode arrays"); + paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); + } + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); + } + + // Prepare the empty DisplaySources dictionary + Dictionary> DisplaySources = new Dictionary>(); + + // Now cycle through the paths and grab the HDR state information + // and map the adapter name to adapter id + //var hdrInfos = new ADVANCED_HDR_INFO_PER_PATH[pathCount]; + //int hdrInfoCount = 0; + foreach (var path in paths) + { + // get display source name + var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); + sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; + sourceInfo.Header.Size = (uint)Marshal.SizeOf(); + sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; + sourceInfo.Header.Id = path.SourceInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + // Store it for later + //DisplaySources.Add(sourceInfo.ViewGdiDeviceName, path.SourceInfo.Id); + if (DisplaySources.ContainsKey(sourceInfo.ViewGdiDeviceName)) + { + // We want to add another cloned display + DisplaySources[sourceInfo.ViewGdiDeviceName].Add(path.SourceInfo.Id); + } + else + { + // We want to create a new list entry if there isn't one already there. + DisplaySources.Add(sourceInfo.ViewGdiDeviceName, new List { path.SourceInfo.Id }); + } + + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); + } + else + { + SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{path.SourceInfo.AdapterId}"); + } + + } + + return DisplaySources; + } + + + private LUID AdapterValueToLUID(ulong adapterValue) + { + LUID luid = new LUID(); + luid.LowPart = (uint)(adapterValue & uint.MaxValue); + luid.HighPart = (uint)(adapterValue >> 32); + return luid; + } public string PrintActiveConfig() { string stringToReturn = ""; // Get the current config - NVIDIA_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; + WINDOWS_DISPLAY_CONFIG displayConfig = ActiveDisplayConfig; - stringToReturn += $"****** NVIDIA VIDEO CARDS *******\n"; + WIN32STATUS err = WIN32STATUS.ERROR_GEN_FAILURE; + stringToReturn += $"****** WINDOWS CCD CONFIGURATION *******\n"; + stringToReturn += $"Display profile contains cloned screens: {displayConfig.IsCloned}\n"; + stringToReturn += $"\n"; - // Enumerate all the Physical GPUs - PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NV_MAX_PHYSICAL_GPUS]; - uint physicalGpuCount = 0; - NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // Get the size of the largest Active Paths and Modes arrays + foreach (var path in displayConfig.DisplayConfigPaths) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); - stringToReturn += $"Number of NVIDIA Video cards found: {physicalGpuCount}\n"; - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); - } + stringToReturn += $"----++++==== Path ====++++----\n"; - // Go through the Physical GPUs one by one - for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) - { - //We want to get the name of the physical device - string gpuName = ""; - NVStatus = NVImport.NvAPI_GPU_GetFullName(physicalGpus[physicalGpuIndex], ref gpuName); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // get display source name + var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); + sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; + sourceInfo.Header.Size = (uint)Marshal.SizeOf(); + sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; + sourceInfo.Header.Id = path.SourceInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetFullName returned OK. The GPU Full Name is {gpuName}"); - stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is a {gpuName}\n"; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the GPU full name! NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - - //This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce) - uint quadroStatus = 0; - NVStatus = NVImport.NvAPI_GPU_GetQuadroStatus(physicalGpus[physicalGpuIndex], out quadroStatus); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - if (quadroStatus == 0) + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Found Display Source {sourceInfo.ViewGdiDeviceName} for source {path.SourceInfo.Id}."); + stringToReturn += $"****** Interrogating Display Source {path.SourceInfo.Id} *******\n"; + stringToReturn += $"Found Display Source {sourceInfo.ViewGdiDeviceName}\n"; + if (displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count > 1) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the GeForce range"); - stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is in the GeForce range\n"; - } - else if (quadroStatus == 1) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is one from the Quadro range"); - stringToReturn += $"NVIDIA Video card #{physicalGpuIndex} is in the Quadro range\n"; + stringToReturn += $"Display Source is Cloned: true\n"; + stringToReturn += $"Number of Display Source clones: {displayConfig.DisplaySources[sourceInfo.ViewGdiDeviceName].Count - 1}\n"; } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NVIDIA Video Card is neither a GeForce or Quadro range vodeo card (QuadroStatus = {quadroStatus})"); + stringToReturn += $"Display Source is Cloned: false\n"; + stringToReturn += $"Number of Display Source clones: 0\n"; + + } + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the source info for source adapter #{path.SourceInfo.AdapterId}"); + } + + + // get display target name + var targetInfo = new DISPLAYCONFIG_TARGET_DEVICE_NAME(); + targetInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME; + targetInfo.Header.Size = (uint)Marshal.SizeOf(); + targetInfo.Header.AdapterId = path.TargetInfo.AdapterId; + targetInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref targetInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Connector Instance: {targetInfo.ConnectorInstance} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: EDID Manufacturer ID: {targetInfo.EdidManufactureId} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: EDID Product Code ID: {targetInfo.EdidProductCodeId} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags Friendly Name from EDID: {targetInfo.Flags.FriendlyNameFromEdid} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags Friendly Name Forced: {targetInfo.Flags.FriendlyNameForced} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Flags EDID ID is Valid: {targetInfo.Flags.EdidIdsValid} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Monitor Device Path: {targetInfo.MonitorDevicePath} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Monitor Friendly Device Name: {targetInfo.MonitorFriendlyDeviceName} for source {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Output Technology: {targetInfo.OutputTechnology} for source {path.TargetInfo.Id}."); + + stringToReturn += $"****** Interrogating Display Target {targetInfo.MonitorFriendlyDeviceName} *******\n"; + stringToReturn += $" Connector Instance: {targetInfo.ConnectorInstance}\n"; + stringToReturn += $" EDID Manufacturer ID: {targetInfo.EdidManufactureId}\n"; + stringToReturn += $" EDID Product Code ID: {targetInfo.EdidProductCodeId}\n"; + stringToReturn += $" Flags Friendly Name from EDID: {targetInfo.Flags.FriendlyNameFromEdid}\n"; + stringToReturn += $" Flags Friendly Name Forced: {targetInfo.Flags.FriendlyNameForced}\n"; + stringToReturn += $" Flags EDID ID is Valid: {targetInfo.Flags.EdidIdsValid}\n"; + stringToReturn += $" Monitor Device Path: {targetInfo.MonitorDevicePath}\n"; + stringToReturn += $" Monitor Friendly Device Name: {targetInfo.MonitorFriendlyDeviceName}\n"; + stringToReturn += $" Output Technology: {targetInfo.OutputTechnology}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/PrintActiveConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); + } + + + // get display adapter name + var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); + adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; + adapterInfo.Header.Size = (uint)Marshal.SizeOf(); + adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; + adapterInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/PrintActiveConfig: Found Adapter Device Path {adapterInfo.AdapterDevicePath} for source {path.TargetInfo.AdapterId}."); + stringToReturn += $"****** Interrogating Display Adapter {adapterInfo.AdapterDevicePath} *******\n"; + stringToReturn += $" Display Adapter {adapterInfo.AdapterDevicePath}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the adapter device path for target #{path.TargetInfo.AdapterId}"); + } + + // show the + + // get display target preferred mode + var targetPreferredInfo = new DISPLAYCONFIG_TARGET_PREFERRED_MODE(); + targetPreferredInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE; + targetPreferredInfo.Header.Size = (uint)Marshal.SizeOf(); + targetPreferredInfo.Header.AdapterId = path.TargetInfo.AdapterId; + targetPreferredInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref targetPreferredInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Preferred Width {targetPreferredInfo.Width} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Preferred Height {targetPreferredInfo.Height} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Active Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cy} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Total Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cy} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info HSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.HSyncFreq} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info VSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VSyncFreq} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Pixel Rate: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.PixelRate} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Scan Line Ordering: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ScanLineOrdering} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Target Video Signal Info Video Standard: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VideoStandard} for target {path.TargetInfo.Id}."); + + stringToReturn += $"****** Interrogating Target Preferred Mode for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $" Target Preferred Width {targetPreferredInfo.Width} for target {path.TargetInfo.Id}\n"; + stringToReturn += $" Target Preferred Height {targetPreferredInfo.Height} for target {path.TargetInfo.Id}\n"; + stringToReturn += $" Target Video Signal Info Active Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ActiveSize.Cy}\n"; + stringToReturn += $" Target Video Signal Info Total Size: ({targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cx}x{targetPreferredInfo.TargetMode.TargetVideoSignalInfo.TotalSize.Cy}\n"; + stringToReturn += $" Target Video Signal Info HSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.HSyncFreq}\n"; + stringToReturn += $" Target Video Signal Info VSync Frequency: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VSyncFreq}\n"; + stringToReturn += $" Target Video Signal Info Pixel Rate: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.PixelRate}\n"; + stringToReturn += $" Target Video Signal Info Scan Line Ordering: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.ScanLineOrdering}\n"; + stringToReturn += $" Target Video Signal Info Video Standard: {targetPreferredInfo.TargetMode.TargetVideoSignalInfo.VideoStandard}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the preferred target name for display #{path.TargetInfo.Id}"); + } + + // get display target base type + var targetBaseTypeInfo = new DISPLAYCONFIG_TARGET_BASE_TYPE(); + targetBaseTypeInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE; + targetBaseTypeInfo.Header.Size = (uint)Marshal.SizeOf(); + targetBaseTypeInfo.Header.AdapterId = path.TargetInfo.AdapterId; + targetBaseTypeInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref targetBaseTypeInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Virtual Resolution is Disabled: {targetBaseTypeInfo.BaseOutputTechnology} for target {path.TargetInfo.Id}."); + + stringToReturn += $"****** Interrogating Target Base Type for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $" Base Output Technology: {targetBaseTypeInfo.BaseOutputTechnology}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target base type for display #{path.TargetInfo.Id}"); + } + + // get display support virtual resolution + var supportVirtResInfo = new DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION(); + supportVirtResInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION; + supportVirtResInfo.Header.Size = (uint)Marshal.SizeOf(); + supportVirtResInfo.Header.AdapterId = path.TargetInfo.AdapterId; + supportVirtResInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref supportVirtResInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Base Output Technology: {supportVirtResInfo.IsMonitorVirtualResolutionDisabled} for target {path.TargetInfo.Id}."); + stringToReturn += $"****** Interrogating Target Supporting virtual resolution for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $" Virtual Resolution is Disabled: {supportVirtResInfo.IsMonitorVirtualResolutionDisabled}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the virtual resolution support for display #{path.TargetInfo.Id}"); + } + + //get advanced color info + var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); + colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; + colorInfo.Header.Size = (uint)Marshal.SizeOf(); + colorInfo.Header.AdapterId = path.TargetInfo.AdapterId; + colorInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Supported: {colorInfo.AdvancedColorSupported} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Enabled: {colorInfo.AdvancedColorEnabled} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Advanced Color Force Disabled: {colorInfo.AdvancedColorForceDisabled} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Bits per Color Channel: {colorInfo.BitsPerColorChannel} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Color Encoding: {colorInfo.ColorEncoding} for target {path.TargetInfo.Id}."); + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found Wide Color Enforced: {colorInfo.WideColorEnforced} for target {path.TargetInfo.Id}."); + + stringToReturn += $"****** Interrogating Advanced Color Info for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $" Advanced Color Supported: {colorInfo.AdvancedColorSupported}\n"; + stringToReturn += $" Advanced Color Enabled: {colorInfo.AdvancedColorEnabled}\n"; + stringToReturn += $" Advanced Color Force Disabled: {colorInfo.AdvancedColorForceDisabled}\n"; + stringToReturn += $" Bits per Color Channel: {colorInfo.BitsPerColorChannel}\n"; + stringToReturn += $" Color Encoding: {colorInfo.ColorEncoding}\n"; + stringToReturn += $" Wide Color Enforced: {colorInfo.WideColorEnforced}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the virtual resolution support for display #{path.TargetInfo.Id}"); + } + + // get SDR white levels + var whiteLevelInfo = new DISPLAYCONFIG_SDR_WHITE_LEVEL(); + whiteLevelInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL; + whiteLevelInfo.Header.Size = (uint)Marshal.SizeOf(); + whiteLevelInfo.Header.AdapterId = path.TargetInfo.AdapterId; + whiteLevelInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref whiteLevelInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Found SDR White Level: {whiteLevelInfo.SDRWhiteLevel} for target {path.TargetInfo.Id}."); + + stringToReturn += $"****** Interrogating SDR White Level for Display {path.TargetInfo.Id} *******\n"; + stringToReturn += $" SDR White Level: {whiteLevelInfo.SDRWhiteLevel}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out the SDL white level for display #{path.TargetInfo.Id}"); + } + } + + // Get the list of all display adapters in this machine through GDI + Dictionary gdiDeviceSettings = new Dictionary(); + UInt32 displayDeviceNum = 0; + DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE(); + displayDevice.Size = (UInt32)Marshal.SizeOf(); + stringToReturn += $"----++++==== GDI Device Information ====++++----\n"; + while (GDIImport.EnumDisplayDevices(null, displayDeviceNum, ref displayDevice, 0)) + { + // Now we try and grab the GDI Device Info for each display device + stringToReturn += $"****** Display Device Info for Display {displayDevice.DeviceName} *******\n"; + stringToReturn += $" Display Device ID: {displayDevice.DeviceId}\n"; + stringToReturn += $" Display Device Key: {displayDevice.DeviceKey}\n"; + stringToReturn += $" Display Device Name: {displayDevice.DeviceName}\n"; + stringToReturn += $" Display Device String: {displayDevice.DeviceString}\n"; + stringToReturn += $" Is Attached to Desktop: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop)}\n"; + stringToReturn += $" Is Disconnected: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Disconnect)}\n"; + stringToReturn += $" Is a Mirroing Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MirroringDriver)}\n"; + stringToReturn += $" Has Modes Pruned: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.ModesPruned)}\n"; + stringToReturn += $" Is Multi-driver: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)}\n"; + stringToReturn += $" Is Primary Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.PrimaryDevice)}\n"; + stringToReturn += $" Is Remote Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Remote)}\n"; + stringToReturn += $" Is Removable Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.Removable)}\n"; + stringToReturn += $" Is VGA Compatible Display Device: {displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.VGACompatible)}\n"; + stringToReturn += $"\n"; + + + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + if (displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.AttachedToDesktop) || displayDevice.StateFlags.HasFlag(DISPLAY_DEVICE_STATE_FLAGS.MultiDriver)) + { + // If the display device is attached to the Desktop, or a type of display that is represented by a psudeo mirroring application, then skip this display + // e.g. some sort of software interfaced display that doesn't have a physical plug, or maybe uses USB for communication + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Getting the current Display Settings for {displayDevice.DeviceName}"); + stringToReturn += $" Display Device Settings for attached Display {displayDevice.DeviceName} :\n"; + DEVICE_MODE currentMode = new DEVICE_MODE(); + currentMode.Size = (UInt16)Marshal.SizeOf(); + bool gdiWorked = GDIImport.EnumDisplaySettings(displayDevice.DeviceName, DISPLAY_SETTINGS_MODE.CurrentSettings, ref currentMode); + if (gdiWorked) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Got the current Display Settings from display {displayDevice.DeviceName}."); + // Now we try and grab the GDI Device Settings for each display device + stringToReturn += $" Bits Per Pixel: {currentMode.BitsPerPixel}\n"; + stringToReturn += $" Device Name: {currentMode.DeviceName}\n"; + stringToReturn += $" Display Fixed Output: {currentMode.DisplayFixedOutput}\n"; + stringToReturn += $" Grayscale Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Grayscale)}\n"; + stringToReturn += $" Interlaced Display: {currentMode.DisplayFlags.HasFlag(DISPLAY_FLAGS.Interlaced)}\n"; + stringToReturn += $" Refresh Rate: {currentMode.DisplayFrequency}Hz\n"; + stringToReturn += $" Display Rotation: {currentMode.DisplayOrientation.ToString("G")}\n"; + stringToReturn += $" Driver Extra: {currentMode.DriverExtra}\n"; + stringToReturn += $" Driver Version: {currentMode.DriverVersion}\n"; + stringToReturn += $" All Display Fields populated by driver: {currentMode.Fields.HasFlag(DEVICE_MODE_FIELDS.AllDisplay)}\n"; + stringToReturn += $" Display Width and Height in Pixels: {currentMode.PixelsWidth} x {currentMode.PixelsHeight}\n"; + stringToReturn += $" Display Position: X:{currentMode.Position.X}, Y:{currentMode.Position.Y}\n"; + stringToReturn += $" Specification Version: {currentMode.SpecificationVersion}\n"; + stringToReturn += $"\n"; + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - Unabled to get current display mode settings from display {displayDevice.DeviceName}."); + stringToReturn += $" No display settings found.\n\n"; } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error GETTING qUADRO STATUS. NvAPI_GPU_GetQuadroStatus() returned error code {NVStatus}"); - } - } - - stringToReturn += $"\n****** NVIDIA SURROUND/MOSAIC *******\n"; - if (displayConfig.MosaicConfig.IsMosaicEnabled) - { - stringToReturn += $"NVIDIA Surround/Mosaic is Enabled\n"; - if (displayConfig.MosaicConfig.MosaicGridTopos.Length > 1) - { - stringToReturn += $"There are {displayConfig.MosaicConfig.MosaicGridTopos.Length} NVIDIA Surround/Mosaic Grid Topologies in use.\n"; - } - if (displayConfig.MosaicConfig.MosaicGridTopos.Length == 1) - { - stringToReturn += $"There is 1 NVIDIA Surround/Mosaic Grid Topology in use.\n"; - } - else - { - stringToReturn += $"There are no NVIDIA Surround/Mosaic Grid Topologies in use.\n"; + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: The display {displayDevice.DeviceName} is either not attached to the desktop, or is not a mirroring driver. Skipping this display device as we cannot use it."); } - int count = 0; - foreach (NV_MOSAIC_GRID_TOPO_V2 gridTopology in displayConfig.MosaicConfig.MosaicGridTopos) - { - stringToReturn += $"NOTE: This Surround/Mosaic screen will be treated as a single display by Windows.\n"; - stringToReturn += $"The NVIDIA Surround/Mosaic Grid Topology #{count} is {gridTopology.Rows} Rows x {gridTopology.Columns} Columns\n"; - stringToReturn += $"The NVIDIA Surround/Mosaic Grid Topology #{count} involves {gridTopology.DisplayCount} Displays\n"; - count++; - } + displayDeviceNum++; } - else - { - stringToReturn += $"NVIDIA Surround/Mosaic is Disabled\n"; - } - - // Start printing out things - stringToReturn += $"\n****** NVIDIA COLOR CONFIG *******\n"; - foreach (KeyValuePair colorData in displayConfig.ColorConfig.ColorData) - { - string displayId = colorData.Key.ToString(); - stringToReturn += $"Display {displayId} BPC is {colorData.Value.Bpc.ToString("G")}.\n"; - stringToReturn += $"Display {displayId} ColorFormat is {colorData.Value.ColorFormat.ToString("G")}.\n"; - stringToReturn += $"Display {displayId} Colorimetry is {colorData.Value.Colorimetry.ToString("G")}.\n"; - stringToReturn += $"Display {displayId} ColorSelectionPolicy is {colorData.Value.ColorSelectionPolicy.ToString("G")}.\n"; - stringToReturn += $"Display {displayId} Depth is {colorData.Value.Depth.ToString("G")}.\n"; - stringToReturn += $"Display {displayId} DynamicRange is {colorData.Value.DynamicRange.ToString("G")}.\n"; - } - - // Start printing out HDR things - stringToReturn += $"\n****** NVIDIA HDR CONFIG *******\n"; - if (displayConfig.HdrConfig.IsNvHdrEnabled) - { - stringToReturn += $"NVIDIA HDR is Enabled\n"; - if (displayConfig.HdrConfig.HdrCapabilities.Count > 0) - { - stringToReturn += $"There are {displayConfig.HdrConfig.HdrCapabilities.Count} NVIDIA HDR devices in use.\n"; - } - if (displayConfig.MosaicConfig.MosaicGridTopos.Length == 1) - { - stringToReturn += $"There is 1 NVIDIA HDR devices in use.\n"; - } - else - { - stringToReturn += $"There are no NVIDIA HDR devices in use.\n"; - } - - foreach (KeyValuePair hdrCapabilityItem in displayConfig.HdrConfig.HdrCapabilities) - { - string displayId = hdrCapabilityItem.Key.ToString(); - if (hdrCapabilityItem.Value.IsDolbyVisionSupported) - { - stringToReturn += $"Display {displayId} supports DolbyVision HDR.\n"; - } - else - { - stringToReturn += $"Display {displayId} DOES NOT support DolbyVision HDR.\n"; - } - if (hdrCapabilityItem.Value.IsST2084EotfSupported) - { - stringToReturn += $"Display {displayId} supports ST2084EOTF HDR Mode.\n"; - } - else - { - stringToReturn += $"Display {displayId} DOES NOT support ST2084EOTF HDR Mode.\n"; - } - if (hdrCapabilityItem.Value.IsTraditionalHdrGammaSupported) - { - stringToReturn += $"Display {displayId} supports Traditional HDR Gamma.\n"; - } - else - { - stringToReturn += $"Display {displayId} DOES NOT support Traditional HDR Gamma.\n"; - } - if (hdrCapabilityItem.Value.IsEdrSupported) - { - stringToReturn += $"Display {displayId} supports EDR.\n"; - } - else - { - stringToReturn += $"Display {displayId} DOES NOT support EDR.\n"; - } - if (hdrCapabilityItem.Value.IsTraditionalSdrGammaSupported) - { - stringToReturn += $"Display {displayId} supports SDR Gamma.\n"; - } - else - { - stringToReturn += $"Display {displayId} DOES NOT support SDR Gamma.\n"; - } - } - } - else - { - stringToReturn += $"NVIDIA HDR is Disabled (HDR may still be enabled within Windows itself)\n"; - } - - stringToReturn += $"\n\n"; - // Now we also get the Windows CCD Library info, and add it to the above - stringToReturn += WinLibrary.GetLibrary().PrintActiveConfig(); return stringToReturn; } - public bool SetActiveConfig(NVIDIA_DISPLAY_CONFIG displayConfig) + public bool SetActiveConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { + // Get the all possible windows display configs + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Generating a list of all the current display configs"); + WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); - if (_initialised) + if (displayConfig.IsCloned) { - - NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - - // Remove any custom NVIDIA Colour settings - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); - // Now we try to set each display color - foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) - { - NV_COLOR_DATA_V5 colorData = colorDataDict.Value; - string displayId = colorDataDict.Key; - try - { - UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - - if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off prior NVIDIA Color Settings."); - continue; - } - - // If the setting for this display is not the same as we want, then we set it to NV_COLOR_SELECTION_POLICY_BEST_QUALITY - if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - // Force the colorData to be NV_COLOR_SELECTION_POLICY_BEST_QUALITY so that we return the color control to Windows - // We will change the colorData to whatever is required later on - colorData = displayConfig.ColorConfig.ColorData[displayId]; - colorData.ColorSelectionPolicy = NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); - - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); - } - } - catch (Exception ex) - { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA specific colour settings for display {displayId}."); - } - } - - // Remove any custom NVIDIA HDR Colour settings - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); - // Now we try to set each display color - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) - { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - string displayId = hdrColorDataDict.Key; - - try - { - - UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - - if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off HDR."); - continue; - } - - // if it's not the same HDR we want, then we turn off HDR (and will apply it if needed later on in SetActiveOverride) - if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - hdrColorData.HdrMode = NV_HDR_MODE.OFF; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); - } - - } - catch (Exception ex) - { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); - } - - } - - // Now we've set the color the way we want it, lets do the thing - // We want to check the NVIDIA Surround (Mosaic) config is valid - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Testing whether the display configuration is valid"); - // - if (displayConfig.MosaicConfig.IsMosaicEnabled) - { - if (displayConfig.MosaicConfig.Equals(ActiveDisplayConfig.MosaicConfig)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is exactly the same as the one we want, so skipping applying the Mosaic config"); - } - else - { - // We need to change to a Mosaic profile, so we need to apply the new Mosaic Topology - NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Mosaic current config is different as the one we want, so applying the Mosaic config now"); - // If we get here then the display is valid, so now we actually apply the new Mosaic Topology - NVStatus = NVImport.NvAPI_Mosaic_SetDisplayGrids(displayConfig.MosaicConfig.MosaicGridTopos, displayConfig.MosaicConfig.MosaicGridCount, setTopoFlags); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); - //Task.Delay(500); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Display Grids! NvAPI_Mosaic_SetDisplayGrids() returned error code {NVStatus}"); - } - } - - } - else if (!displayConfig.MosaicConfig.IsMosaicEnabled && ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) - { - // We are on a Mosaic profile now, and we need to change to a non-Mosaic profile - // We need to disable the Mosaic Topology - - // Turn off Mosaic - uint enable = 0; - NVStatus = NVImport.NvAPI_Mosaic_EnableCurrentTopo(enable); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_EnableCurrentTopo returned OK. Previously set Mosiac config re-enabled."); - //Task.Delay(500); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: There was an error disabling the display mode. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - return false; - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_EnableCurrentTopo() returned error code {NVStatus}"); - } - } - else if (!displayConfig.MosaicConfig.IsMosaicEnabled && !ActiveDisplayConfig.MosaicConfig.IsMosaicEnabled) - { - // We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile - // so there is nothing to do as far as NVIDIA is concerned! - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We are on a non-Mosaic profile now, and we are changing to a non-Mosaic profile so there is nothing to do as far as NVIDIA is concerned!"); - } - - } - return true; - } - - public bool SetActiveConfigOverride(NVIDIA_DISPLAY_CONFIG displayConfig) - { - - if (_initialised) - { - // Force another scan of what the display config is so that the following logic works - UpdateActiveConfig(); - - NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on colour if it's user set colour."); - // Now we try to set each display color - foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) - { - NV_COLOR_DATA_V5 colorData = colorDataDict.Value; - string displayId = colorDataDict.Key; - try - { - UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - - if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the NVIDIA Color Settings."); - continue; - } - - // If this is a setting that says it uses user colour settings, then we turn it off - if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to use custom NVIDIA HDR Colour for display {displayId}."); - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - colorData = displayConfig.ColorConfig.ColorData[displayId]; - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); - - // Set the command as a 'SET' - colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; - NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); - switch (colorData.ColorSelectionPolicy) - { - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); - break; - case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); - break; - } - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); - } - } - catch (Exception ex) - { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on NVIDIA custom colour settings for display {displayId}."); - } - } - - - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on NVIDIA HDR colour if it's user wants to use NVIDIA HDR colour."); - // Now we try to set each display color - foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) - { - NV_HDR_COLOR_DATA_V2 hdrColorData = hdrColorDataDict.Value; - string displayId = hdrColorDataDict.Key; - - try - { - UInt32 displayIdAsUInt32 = UInt32.Parse(displayId); - - if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping setting the HdrColorData."); - continue; - } - - // if it's HDR and it's a different mode than what we are in now, then set HDR - if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on user-set HDR mode for display {displayId} as it's supposed to be on."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); - // Apply the HDR removal - hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; - NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); - } - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn on custom NVIDIA HDR if needed for display {displayId} and that currently isn't required. Skipping changing NVIDIA HDR mode."); - } - } - catch (Exception ex) - { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on custom NVIDIA HDR colour settings for display {displayId}."); - } - } - - + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have a cloned display in this display profile, so using the Windows GDI to set the layout"); } else { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfigOverride: ERROR - Tried to run SetActiveConfig but the NVIDIA NVAPI library isn't initialised!"); - throw new NVIDIALibraryException($"Tried to run SetActiveConfigOverride but the NVIDIA NVAPI library isn't initialised!"); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile, so using the Windows CCD to set the layout"); } + // Now we go through the Paths to update the LUIDs as per Soroush's suggestion + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Patching the adapter IDs to make the saved config valid"); + PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); + uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; + uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; + + // Now set the specified display configuration for this computer + WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET | SDC.SDC_FORCE_MODE_ENUMERATION); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Successfully set the display configuration to the settings supplied!"); + } + else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_GEN_FAILURE) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); + return false; + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: SetDisplayConfig couldn't set the display configuration using the settings supplied. Display configuration not applied."); + return false; + } + + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! The display configuration has been successfully applied"); + + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the Windows CCD HDR settings"); + System.Threading.Thread.Sleep(500); + + foreach (ADVANCED_HDR_INFO_PER_PATH myHDRstate in displayConfig.DisplayHDRStates) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to get information whether HDR color is in use now on Display {myHDRstate.Id}."); + // Get advanced HDR info + var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO(); + colorInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO; + colorInfo.Header.Size = (uint)Marshal.SizeOf(); + colorInfo.Header.AdapterId = myHDRstate.AdapterId; + colorInfo.Header.Id = myHDRstate.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref colorInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Advanced Color Info gathered from Display {myHDRstate.Id}"); + + if (myHDRstate.AdvancedColorInfo.AdvancedColorSupported && colorInfo.AdvancedColorEnabled != myHDRstate.AdvancedColorInfo.AdvancedColorEnabled) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} but is currently {colorInfo.AdvancedColorEnabled}."); + + var setColorState = new DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE(); + setColorState.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE; + setColorState.Header.Size = (uint)Marshal.SizeOf(); + setColorState.Header.AdapterId = myHDRstate.AdapterId; + setColorState.Header.Id = myHDRstate.Id; + setColorState.EnableAdvancedColor = myHDRstate.AdvancedColorInfo.AdvancedColorEnabled; + err = CCDImport.DisplayConfigSetDeviceInfo(ref setColorState); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: SUCCESS! Set HDR successfully to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} on Display {myHDRstate.Id}"); + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: ERROR - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to set the HDR settings for display #{myHDRstate.Id}"); + return false; + } + } + else + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Skipping setting HDR on Display {myHDRstate.Id} as it does not support HDR"); + } + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetWindowsDisplayConfig: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to find out if HDR is supported for display #{myHDRstate.Id}"); + } + + } + + // Get the existing displays + Dictionary currentGdiDisplaySettings = GetGdiDisplaySettings(); + + // Apply the previously saved display settings to the new displays (match them up) + // NOTE: This may be the only mode needed once it's completed. + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Attempting to change Display Device settings through GDI API using "); + foreach (var gdiDisplay in displayConfig.GdiDisplaySettings) + { + + string displayDeviceKey = gdiDisplay.Key; + GDI_DISPLAY_SETTING displayDeviceSettings = displayConfig.GdiDisplaySettings[displayDeviceKey]; + + if (currentGdiDisplaySettings.ContainsKey(displayDeviceKey)) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to change Device Mode for Display {displayDeviceKey}."); + GDI_DISPLAY_SETTING currentDeviceSetting = currentGdiDisplaySettings[displayDeviceKey]; + + // Use the current device as a base, but set some of the various settings we stored as part of the profile + currentDeviceSetting.DeviceMode.BitsPerPixel = displayDeviceSettings.DeviceMode.BitsPerPixel; + currentDeviceSetting.DeviceMode.DisplayOrientation = displayDeviceSettings.DeviceMode.DisplayOrientation; + currentDeviceSetting.DeviceMode.DisplayFrequency = displayDeviceSettings.DeviceMode.DisplayFrequency; + // Sets the greyscale and interlaced settings + currentDeviceSetting.DeviceMode.DisplayFlags = displayDeviceSettings.DeviceMode.DisplayFlags; + + CHANGE_DISPLAY_RESULTS result = GDIImport.ChangeDisplaySettingsEx(currentDeviceSetting.Device.DeviceName, ref currentDeviceSetting.DeviceMode, IntPtr.Zero, CHANGE_DISPLAY_SETTINGS_FLAGS.CDS_UPDATEREGISTRY, IntPtr.Zero); + if (result == CHANGE_DISPLAY_RESULTS.Successful) + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Successfully changed display {displayDeviceKey} to use the new mode!"); + } + else if (result == CHANGE_DISPLAY_RESULTS.BadDualView) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The settings change was unsuccessful because the system is DualView capable. Display {displayDeviceKey} not updated to new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadFlags) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid set of flags was passed in. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadMode) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The graphics mode is not supported. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.BadParam) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: An invalid parameter was passed in. This can include an invalid flag or combination of flags. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Failed) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The display driver failed to apply the specified graphics mode. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.NotUpdated) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: Unable to write new settings to the registry. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else if (result == CHANGE_DISPLAY_RESULTS.Restart) + { + SharedLogger.logger.Error($"WinLibrary/GetWindowsDisplayConfig: The computer must be restarted for the graphics mode to work. Display {displayDeviceKey} not updated to use the new mode."); + return false; + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} not updated to use the new mode."); + } + } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetWindowsDisplayConfig: Display {displayDeviceKey} is not currently in use, so cannot set it!"); + } + } return true; } - public bool IsActiveConfig(NVIDIA_DISPLAY_CONFIG displayConfig) + public bool IsActiveConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { // Check whether the display config is in use now - SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: Checking whether the display configuration is already being used."); - if (displayConfig.Equals(_activeDisplayConfig)) + SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: Checking whether the display configuration is already being used."); + if (displayConfig.Equals(ActiveDisplayConfig)) { - SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentDisplayConfig"); + SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: The display configuration is already being used (supplied displayConfig Equals currentWindowsDisplayConfig"); return true; } else { - SharedLogger.logger.Trace($"NVIDIALibrary/IsActiveConfig: The display configuration is NOT currently in use (supplied displayConfig does NOT equal currentDisplayConfig"); + SharedLogger.logger.Trace($"WinLibrary/IsActiveConfig: The display configuration is NOT currently in use (supplied displayConfig Equals currentWindowsDisplayConfig"); return false; } } - public bool IsValidConfig(NVIDIA_DISPLAY_CONFIG displayConfig) + public bool IsValidConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { - // We want to check the NVIDIA Surround (Mosaic) config is valid - SharedLogger.logger.Trace($"NVIDIALibrary/IsValidConfig: Testing whether the display configuration is valid"); - // - if (displayConfig.MosaicConfig.IsMosaicEnabled) + // Get the current windows display configs + WINDOWS_DISPLAY_CONFIG allWindowsDisplayConfig = GetWindowsDisplayConfig(QDC.QDC_ALL_PATHS); + + SharedLogger.logger.Trace("WinLibrary/PatchAdapterIDs: Going through the list of adapters we stored in the config to make sure they still exist"); + // Firstly check that the Adapter Names are still currently available (i.e. the adapter hasn't been replaced). + foreach (string savedAdapterName in displayConfig.DisplayAdapters.Values) { - - // =================================================================================================================================== - // Important! ValidateDisplayGrids does not work at the moment. It errors when supplied with a Grid Topology that works in SetDisplaGrids - // We therefore cannot use ValidateDisplayGrids to actually validate the config before it's use. We instead need to rely on SetDisplaGrids reporting an - // error if it is unable to apply the requested configuration. While this works fine, it's not optimal. - // TODO: Test ValidateDisplayGrids in a future NVIDIA driver release to see if they fixed it. - // =================================================================================================================================== - return true; - - /*// Figure out how many Mosaic Grid topoligies there are - uint mosaicGridCount = 0; - NVAPI_STATUS NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // If there is even one of the saved adapters that has changed, then it's no longer possible + // to use this display config! + if (!allWindowsDisplayConfig.DisplayAdapters.Values.Contains(savedAdapterName)) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); - } - - // Get Current Mosaic Grid settings using the Grid topologies fnumbers we got before - //NV_MOSAIC_GRID_TOPO_V2[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V2[mosaicGridCount]; - NV_MOSAIC_GRID_TOPO_V1[] mosaicGridTopos = new NV_MOSAIC_GRID_TOPO_V1[mosaicGridCount]; - NVStatus = NVImport.NvAPI_Mosaic_EnumDisplayGrids(ref mosaicGridTopos, ref mosaicGridCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_GetCurrentTopo() returned error code {NVStatus}"); - } - */ - - /*NV_MOSAIC_SETDISPLAYTOPO_FLAGS setTopoFlags = NV_MOSAIC_SETDISPLAYTOPO_FLAGS.NONE; - bool topoValid = false; - NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[] topoStatuses = new NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[displayConfig.MosaicConfig.MosaicGridCount]; - NVAPI_STATUS NVStatus = NVImport.NvAPI_Mosaic_ValidateDisplayGrids(setTopoFlags, ref displayConfig.MosaicConfig.MosaicGridTopos, ref topoStatuses, displayConfig.MosaicConfig.MosaicGridCount); - //NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[] topoStatuses = new NV_MOSAIC_DISPLAY_TOPO_STATUS_V1[mosaicGridCount]; - //NVStatus = NVImport.NvAPI_Mosaic_ValidateDisplayGrids(setTopoFlags, ref mosaicGridTopos, ref topoStatuses, mosaicGridCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_GetCurrentTopo returned OK."); - - for (int i = 0; i < topoStatuses.Length; i++) - { - // If there is an error then we need to log it! - // And make it not be used - if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Congratulations! No error flags for GridTopology #{i}"); - topoValid = true; - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.DISPLAY_ON_INVALID_GPU) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Display is on an invalid GPU"); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.DISPLAY_ON_WRONG_CONNECTOR) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Display is on the wrong connection. It was on a different connection when the display profile was saved."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.ECC_ENABLED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: ECC has been enabled, and Mosaic/Surround doesn't work with ECC"); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.GPU_TOPOLOGY_NOT_SUPPORTED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: This GPU topology is not supported."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.MISMATCHED_OUTPUT_TYPE) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: The output type has changed for the display. The display was connected through another output type when the display profile was saved."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NOT_SUPPORTED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: This Grid Topology is not supported on this video card."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_COMMON_TIMINGS) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Couldn't find common timings that suit all the displays in this Grid Topology."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_DISPLAY_CONNECTED) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: No display connected."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_EDID_AVAILABLE) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: Your display didn't provide any information when we attempted to query it. Your display either doesn't support support EDID querying or has it a fault. "); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_GPU_TOPOLOGY) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: There is no GPU topology provided."); - } - else if (topoStatuses[i].ErrorFlags == NV_MOSAIC_DISPLAYCAPS_PROBLEM_FLAGS.NO_SLI_BRIDGE) - { - SharedLogger.logger.Error($"NVIDIALibrary/SetActiveConfig: Error with the GridTopology #{i}: There is no SLI bridge, and there was one when the display profile was created."); - } - - // And now we also check to see if there are any warnings we also need to log - if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.NONE) - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Congratulations! No warning flags for GridTopology #{i}"); - } - else if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.DISPLAY_POSITION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Warning for the GridTopology #{i}: The display position has changed, and this may affect your display view."); - } - else if (topoStatuses[i].WarningFlags == NV_MOSAIC_DISPLAYTOPO_WARNING_FLAGS.DRIVER_RELOAD_REQUIRED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Warning for the GridTopology #{i}: Your computer needs to be restarted before your NVIDIA device driver can use this Grid Topology."); - } - } - - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Mosaic is not supported with the existing hardware. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: No matching GPU topologies could be found. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_TOPO_NOT_POSSIBLE) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The topology passed in is not currently possible. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: One or more argumentss passed in are invalid. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INCOMPATIBLE_STRUCT_VERSION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The version of the structure passed in is not compatible with this entrypoint. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_MODE_CHANGE_FAILED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: There was an error changing the display mode. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Mosaic_ValidateDisplayGrids() returned error code {NVStatus}"); - } - - - // Cancel the screen change if there was an error with anything above this. - if (topoValid) - { - // If there was an issue then we need to return false - // to indicate that the display profile can't be applied - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: The display settings are valid."); - return true; - } - else - { - // If there was an issue then we need to return false - // to indicate that the display profile can't be applied - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: There was an error when validating the requested grid topology that prevents us from using the display settings provided. THe display setttings are NOT valid."); + SharedLogger.logger.Error($"WinLibrary/PatchAdapterIDs: ERROR - Saved adapter {savedAdapterName} is not available right now! This display configuration won't work!"); return false; - }*/ + } + } + SharedLogger.logger.Trace($"WinLibrary/PatchAdapterIDs: All teh adapters that the display configuration uses are still avilable to use now!"); + + // Now we go through the Paths to update the LUIDs as per Soroush's suggestion + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Attemptong to patch the saved display configuration's adapter IDs so that it will still work (these change at each boot)"); + PatchAdapterIDs(ref displayConfig, allWindowsDisplayConfig.DisplayAdapters); + + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the display configuration is valid "); + // Test whether a specified display configuration is supported on the computer + uint myPathsCount = (uint)displayConfig.DisplayConfigPaths.Length; + uint myModesCount = (uint)displayConfig.DisplayConfigModes.Length; + WIN32STATUS err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_VALIDATE); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: SetDisplayConfig validated that the display configuration is valid and can be used!"); + return true; } else { - // Its not a Mosaic topology, so we just let it pass, as it's windows settings that matter. - return true; + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: SetDisplayConfig confirmed that the display configuration is invalid and cannot be used!"); + return false; } + } - public bool IsPossibleConfig(NVIDIA_DISPLAY_CONFIG displayConfig) + public bool IsPossibleConfig(WINDOWS_DISPLAY_CONFIG displayConfig) { - // We want to check the NVIDIA profile can be used now - SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Testing whether the NVIDIA display configuration is possible to be used now"); + // We want to check the Windows Display profile can be used now + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Testing whether the Windows display configuration is possible to be used now"); // check what the currently available displays are (include the ones not active) List currentAllIds = GetAllConnectedDisplayIdentifiers(); // CHeck that we have all the displayConfig DisplayIdentifiers we need available now - if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) //if (currentAllIds.Intersect(displayConfig.DisplayIdentifiers).Count() == displayConfig.DisplayIdentifiers.Count) + if (displayConfig.DisplayIdentifiers.All(value => currentAllIds.Contains(value))) { - SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Success! The NVIDIA display configuration is possible to be used now"); + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Success! THe Windows display configuration is possible to be used now"); return true; } else { - SharedLogger.logger.Trace($"NVIDIALibrary/IsPossibleConfig: Uh oh! The NVIDIA display configuration is possible cannot be used now"); + SharedLogger.logger.Trace($"WinLibrary/IsPossibleConfig: Uh oh! THe Windows display configuration is possible cannot be used now"); return false; } } - /*public bool IsEquivalentConfig(NVIDIA_DISPLAY_CONFIG displayConfig, NVIDIA_DISPLAY_CONFIG otherDisplayConfig) - { - // We want to check if the NVIDIA configurations are the equiavalent of each other - // IMPORTANT: This function differs from Equals in that Equivalent allows some fields to differ in order to still match. - // The goal is to identify when two display configurations would be the same if they were applied. - - SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Testing whether the NVIDIA display configuration is equivalent to another"); - if (_initialised) - { - NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; - - // Check that displayConfig DisplayIdentifiers match - if (!displayConfig.DisplayIdentifiers.All(value => otherDisplayConfig.DisplayIdentifiers.Contains(value))) - { - SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA display identifiers don't match so NVIDIA Config is not equivalent to the other one."); - return false; - } - - // Check that displayConfig Mosaic Configs match - if (!displayConfig.MosaicConfig.Equals(otherDisplayConfig.MosaicConfig)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA Mosaic Configs don't match so NVIDIA Config is not equivalent to the other one."); - return false; - } - - // Check that displayConfig Hdr Configs match - if (!displayConfig.HdrConfig.Equals(otherDisplayConfig.HdrConfig)) - { - SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Uh oh! The NVIDIA Hdr Configs don't match so NVIDIA Config is not equivalent to the other one."); - return false; - } - - SharedLogger.logger.Trace($"NVIDIALibrary/IsEquivalentConfig: Success! The NVIDIA display configuration is possible to be used now"); - return true; - } - else - { - return false; - } - }*/ - public List GetCurrentDisplayIdentifiers() { - SharedLogger.logger.Trace($"NVIDIALibrary/GetCurrentDisplayIdentifiers: Getting the current display identifiers for the displays in use now"); - return GetSomeDisplayIdentifiers(false); + SharedLogger.logger.Trace($"WinLibrary/GetCurrentDisplayIdentifiers: Getting the current display identifiers for the displays in use now"); + return GetSomeDisplayIdentifiers(QDC.QDC_ONLY_ACTIVE_PATHS); } public List GetAllConnectedDisplayIdentifiers() { - SharedLogger.logger.Trace($"NVIDIALibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); - return GetSomeDisplayIdentifiers(true); + SharedLogger.logger.Trace($"WinLibrary/GetAllConnectedDisplayIdentifiers: Getting all the display identifiers that can possibly be used"); + return GetSomeDisplayIdentifiers(QDC.QDC_ALL_PATHS); } - private List GetSomeDisplayIdentifiers(bool allDisplays = true) + private List GetSomeDisplayIdentifiers(QDC selector = QDC.QDC_ONLY_ACTIVE_PATHS) { - SharedLogger.logger.Debug($"NVIDIALibrary/GetCurrentDisplayIdentifiers: Generating the unique Display Identifiers for the currently active configuration"); + SharedLogger.logger.Debug($"WinLibrary/GetCurrentDisplayIdentifiers: Generating the unique Display Identifiers for the currently active configuration"); List displayIdentifiers = new List(); - // Enumerate all the Physical GPUs - PhysicalGpuHandle[] physicalGpus = new PhysicalGpuHandle[NVImport.NV_MAX_PHYSICAL_GPUS]; - uint physicalGpuCount = 0; - NVAPI_STATUS NVStatus = NVImport.NvAPI_EnumPhysicalGPUs(ref physicalGpus, out physicalGpuCount); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + SharedLogger.logger.Trace($"WinLibrary/GetCurrentDisplayIdentifiers: Testing whether the display configuration is valid (allowing tweaks)."); + // Get the size of the largest Active Paths and Modes arrays + int pathCount = 0; + int modeCount = 0; + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(selector, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_EnumPhysicalGPUs returned {physicalGpuCount} Physical GPUs"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Error getting physical GPU count. NvAPI_EnumPhysicalGPUs() returned error code {NVStatus}"); + SharedLogger.logger.Error($"WinLibrary/PrintActiveConfig: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); } - // Go through the Physical GPUs one by one - for (uint physicalGpuIndex = 0; physicalGpuIndex < physicalGpuCount; physicalGpuIndex++) + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); + var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(selector, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { - //We want to get the name of the physical device - string gpuName = ""; - NVStatus = NVImport.NvAPI_GPU_GetFullName(physicalGpus[physicalGpuIndex], ref gpuName); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the size of the largest Active Paths and Modes arrays"); + // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again + // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig + err = CCDImport.GetDisplayConfigBufferSizes(selector, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetFullName returned OK. The GPU Full Name is {gpuName}"); + SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); + paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(selector, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) + else if (err != WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetSomeDisplayIdentifiers: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); + } + + foreach (var path in paths) + { + if (path.TargetInfo.TargetAvailable == false) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + // We want to skip this one cause it's not valid + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); + continue; } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + + // get display source name + var sourceInfo = new DISPLAYCONFIG_SOURCE_DEVICE_NAME(); + sourceInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME; + sourceInfo.Header.Size = (uint)Marshal.SizeOf(); + sourceInfo.Header.AdapterId = path.SourceInfo.AdapterId; + sourceInfo.Header.Id = path.SourceInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref sourceInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the source info from {path.SourceInfo.Id}."); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting the GPU full name! NvAPI_GPU_GetFullName() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.SourceInfo.Id}"); } - //We want to get the physical details of the physical device - NV_GPU_BUS_TYPE busType = NV_GPU_BUS_TYPE.UNDEFINED; - NVStatus = NVImport.NvAPI_GPU_GetBusType(physicalGpus[physicalGpuIndex], ref busType); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // get display target name + var targetInfo = new DISPLAYCONFIG_TARGET_DEVICE_NAME(); + targetInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME; + targetInfo.Header.Size = (uint)Marshal.SizeOf(); + targetInfo.Header.AdapterId = path.TargetInfo.AdapterId; + targetInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref targetInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetBoardInfo returned OK. THe GPU BusType is {busType.ToString("G")}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the target info from {path.TargetInfo.Id}."); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetBoardInfo() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); } - //We want to get the physical details of the physical device - UInt32 busId = 0; - NVStatus = NVImport.NvAPI_GPU_GetBusId(physicalGpus[physicalGpuIndex], ref busId); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // get display adapter name + var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); + adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; + adapterInfo.Header.Size = (uint)Marshal.SizeOf(); + adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; + adapterInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetBusId returned OK. The GPU Bus ID was {busId}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Mosaic is not supported with the existing hardware. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: One or more argumentss passed in are invalid. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Successfully got the display name info from {path.TargetInfo.Id}."); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetBusId() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"WinLibrary/GetSomeDisplayIdentifiers: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); } - // Next, we need to get all the connected Display IDs. - //This function retrieves the number of display IDs we know about - UInt32 displayCount = 0; - NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayCount, 0); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) + // Create an array of all the important display info we need to record + List displayInfo = new List(); + displayInfo.Add("WINAPI"); + try { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_DISP_GetGDIPrimaryDisplayId returned OK. We have {displayCount} connected displays detected."); + displayInfo.Add(adapterInfo.AdapterDevicePath.ToString()); } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) + catch (Exception ex) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Adapter Device Path from video card. Substituting with a # instead"); + displayInfo.Add("#"); } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) + try { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + displayInfo.Add(targetInfo.OutputTechnology.ToString()); } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) + catch (Exception ex) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Connector Instance from video card. Substituting with a # instead"); + displayInfo.Add("#"); } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) + try { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + displayInfo.Add(targetInfo.EdidManufactureId.ToString()); } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) + catch (Exception ex) { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display EDID Manufacturer Code from video card. Substituting with a # instead"); + displayInfo.Add("#"); } - else + try { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); + displayInfo.Add(targetInfo.EdidProductCodeId.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display EDID Product Code from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(targetInfo.MonitorDevicePath.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Path Target Info Id from video card. Substituting with a # instead"); + displayInfo.Add("#"); + } + try + { + displayInfo.Add(targetInfo.MonitorFriendlyDeviceName.ToString()); + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"WinLibrary/GetSomeDisplayIdentifiers: Exception getting Windows Display Target Friendly name from video card. Substituting with a # instead"); + displayInfo.Add("#"); } - if (displayCount > 0) + // Create a display identifier out of it + string displayIdentifier = String.Join("|", displayInfo); + // Add it to the list of display identifiers so we can return it + // but only add it if it doesn't already exist. Otherwise we get duplicates :/ + if (!displayIdentifiers.Contains(displayIdentifier)) { - // Now we try to get the information about the displayIDs - NV_GPU_DISPLAYIDS_V2[] displayIds = new NV_GPU_DISPLAYIDS_V2[displayCount]; - NVStatus = NVImport.NvAPI_GPU_GetConnectedDisplayIds(physicalGpus[physicalGpuIndex], ref displayIds, ref displayCount, 0); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetConnectedDisplayIds returned OK. We have {displayCount} physical GPUs"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_GetGDIPrimaryDisplayId() returned error code {NVStatus}"); - } - - // Now, we want to go through the displays - foreach (NV_GPU_DISPLAYIDS_V2 oneDisplay in displayIds) - { - // If alldisplays is false, then we only want the active displays. We need to skip this one if it is not active - if (allDisplays == false && oneDisplay.IsActive == false) - { - // We want to skip this display as it is non-active, and we only want active displays - continue; - } - - - // Now we try to get the GPU and Output ID from the DisplayID - PhysicalGpuHandle physicalGpu = new PhysicalGpuHandle(); - UInt32 gpuOutputId = 0; - NVStatus = NVImport.NvAPI_SYS_GetGpuAndOutputIdFromDisplayId(oneDisplay.DisplayId, out physicalGpu, out gpuOutputId); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_SYS_GetGpuAndOutputIdFromDisplayId returned OK. We received Physical GPU ID {physicalGpu} and GPU Output ID {gpuOutputId}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input buffer is not large enough to hold it's contents. NvAPI_SYS_GetGpuAndOutputIdFromDisplayId() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetConnectedDisplayIds() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_SYS_GetGpuAndOutputIdFromDisplayId() returned error code {NVStatus}"); - } - - // Lets set some EDID default in case the EDID doesn't work - string manufacturerName = "Unknown"; - UInt32 productCode = 0; - UInt32 serialNumber = 0; - // We try to get an EDID block and extract the info - NV_EDID_V3 edidInfo = new NV_EDID_V3(); - NVStatus = NVImport.NvAPI_GPU_GetEDID(physicalGpu, gpuOutputId, ref edidInfo); - if (NVStatus == NVAPI_STATUS.NVAPI_OK) - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: NvAPI_GPU_GetEDID returned OK. We have got an EDID Block."); - EDID edidParsedInfo = new EDID(edidInfo.EDID_Data); - manufacturerName = edidParsedInfo.ManufacturerCode; - productCode = edidParsedInfo.ProductCode; - serialNumber = edidParsedInfo.SerialNumber; - } - else - { - if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_ARGUMENT) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: Either edidInfo was null when it was supplied, or gpuOutputId . NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NVIDIA_DEVICE_NOT_FOUND) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: No active GPU was found. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The GPU Handle supplied was not a valid GPU Handle. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_DATA_NOT_FOUND) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The display does not support EDID. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: The NvAPI API needs to be initialized first. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: This entry point not available in this NVIDIA Driver. NvAPI_GPU_GetEDID() returned status code {NVStatus}"); - } - else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) - { - SharedLogger.logger.Warn($"NVIDIALibrary/GetNVIDIADisplayConfig: A miscellaneous error occurred. NvAPI_GPU_GetEDID() returned error code {NVStatus}"); - } - else - { - SharedLogger.logger.Trace($"NVIDIALibrary/GetNVIDIADisplayConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_GPU_GetEDID() returned error code {NVStatus}"); - } - } - - - // Create an array of all the important display info we need to record - List displayInfo = new List(); - displayInfo.Add("NVIDIA"); - try - { - displayInfo.Add(gpuName.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Name from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(busType.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Bus Type from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(busId.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Bus ID from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(oneDisplay.ConnectorType.ToString("G")); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting GPU Output ID from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(manufacturerName.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Manufacturer Name for the display from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(productCode.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Product Code for the display from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(serialNumber.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting NVIDIA EDID Serial Number for the display from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - try - { - displayInfo.Add(oneDisplay.DisplayId.ToString()); - } - catch (Exception ex) - { - SharedLogger.logger.Warn(ex, $"NVIDIALibrary/GetSomeDisplayIdentifiers: Exception getting Display ID from video card. Substituting with a # instead"); - displayInfo.Add("#"); - } - // Create a display identifier out of it - string displayIdentifier = String.Join("|", displayInfo); - // Add it to the list of display identifiers so we can return it - // but only add it if it doesn't already exist. Otherwise we get duplicates :/ - if (!displayIdentifiers.Contains(displayIdentifier)) - { - displayIdentifiers.Add(displayIdentifier); - SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); - } - } + displayIdentifiers.Add(displayIdentifier); + SharedLogger.logger.Debug($"ProfileRepository/GenerateProfileDisplayIdentifiers: DisplayIdentifier: {displayIdentifier}"); } + } // Sort the display identifiers @@ -2451,22 +1460,130 @@ namespace DisplayMagicianShared.NVIDIA return displayIdentifiers; } - public static bool ListOfArraysEqual(List a1, List a2) + public List GetCurrentPCIVideoCardVendors() { - if (a1.Count == a2.Count) + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Getting the current PCI vendor ids for the videocards reported to Windows"); + List videoCardVendorIds = new List(); + + + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Testing whether the display configuration is valid (allowing tweaks)."); + // Get the size of the largest Active Paths and Modes arrays + int pathCount = 0; + int modeCount = 0; + WIN32STATUS err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) { - for (int i = 0; i < a1.Count; i++) + SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes"); + } + + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); + var paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + var modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Warn($"WinLibrary/GetCurrentPCIVideoCardVendors: The displays were modified between GetDisplayConfigBufferSizes and QueryDisplayConfig so we need to get the buffer sizes again."); + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Getting the size of the largest Active Paths and Modes arrays"); + // Screen changed in between GetDisplayConfigBufferSizes and QueryDisplayConfig, so we need to get buffer sizes again + // as per https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig + err = CCDImport.GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out pathCount, out modeCount); + if (err != WIN32STATUS.ERROR_SUCCESS) { - if (a1[i].Length == a2[i].Length) + SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + throw new WinLibraryException($"GetDisplayConfigBufferSizes returned WIN32STATUS {err} when trying to get the maximum path and mode sizes again"); + } + SharedLogger.logger.Trace($"WinLibrary/GetSomeDisplayIdentifiers: Getting the current Display Config path and mode arrays"); + paths = new DISPLAYCONFIG_PATH_INFO[pathCount]; + modes = new DISPLAYCONFIG_MODE_INFO[modeCount]; + err = CCDImport.QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero); + if (err == WIN32STATUS.ERROR_INSUFFICIENT_BUFFER) + { + SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + throw new WinLibraryException($"The displays were still modified between GetDisplayConfigBufferSizes and QueryDisplayConfig, even though we tried twice. Something is wrong."); + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays again."); + } + } + else if (err != WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Error($"WinLibrary/GetCurrentPCIVideoCardVendors: ERROR - QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays"); + throw new WinLibraryException($"QueryDisplayConfig returned WIN32STATUS {err} when trying to query all available displays."); + } + + foreach (var path in paths) + { + if (path.TargetInfo.TargetAvailable == false) + { + // We want to skip this one cause it's not valid + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Skipping path due to TargetAvailable not existing in display #{path.TargetInfo.Id}"); + continue; + } + + // get display adapter name + var adapterInfo = new DISPLAYCONFIG_ADAPTER_NAME(); + adapterInfo.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME; + adapterInfo.Header.Size = (uint)Marshal.SizeOf(); + adapterInfo.Header.AdapterId = path.TargetInfo.AdapterId; + adapterInfo.Header.Id = path.TargetInfo.Id; + err = CCDImport.DisplayConfigGetDeviceInfo(ref adapterInfo); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Successfully got the display name info from {path.TargetInfo.Id}."); + } + else + { + SharedLogger.logger.Warn($"WinLibrary/GetCurrentPCIVideoCardVendors: WARNING - DisplayConfigGetDeviceInfo returned WIN32STATUS {err} when trying to get the target info for display #{path.TargetInfo.Id}"); + } + + try + { + // The AdapterDevicePath is something like "\\\\?\\PCI#VEN_10DE&DEV_2482&SUBSYS_408E1458&REV_A1#4&2283f625&0&0019#{5b45201d-f2f2-4f3b-85bb-30ff1f953599}" + // We only want the vendor ID + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The AdapterDevicePath for this path is :{adapterInfo.AdapterDevicePath}"); + // Match against the vendor ID + string pattern = @"VEN_([\d\w]{4})&"; + Match match = Regex.Match(adapterInfo.AdapterDevicePath, pattern); + if (match.Success) { - for (int j = 0; j < a1[i].Length; j++) + string VendorId = match.Groups[1].Value; + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The matched PCI Vendor ID is :{VendorId }"); + if (!videoCardVendorIds.Contains(VendorId)) { - if (a1[i][j] != a2[i][j]) - { - return false; - } + videoCardVendorIds.Add(VendorId); + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: Stored PCI vendor ID {VendorId} as we haven't already got it"); } } + else + { + SharedLogger.logger.Trace($"WinLibrary/GetCurrentPCIVideoCardVendors: The PCI Vendor ID pattern wasn't matched so we didn't record a vendor ID."); + } + + } + catch (Exception ex) + { + SharedLogger.logger.Warn(ex, $"WinLibrary/GetCurrentPCIVideoCardVendors: Exception getting PCI Vendor ID from Display Adapter {path.SourceInfo.AdapterId}."); + } + + } + + return videoCardVendorIds; + + } + + public static bool GDISettingsEqual(Dictionary gdi1, Dictionary gdi2) + { + if (gdi1.Count == gdi2.Count) + { + for (int i = 0; i < gdi1.Count; i++) + { + if (gdi1.Values.ToList()[i] != gdi2.Values.ToList()[i]) + { + return false; + } } return true; } @@ -2476,42 +1593,15 @@ namespace DisplayMagicianShared.NVIDIA } } - public static bool Arrays2DEqual(int[][] a1, int[][] a2) - { - if (a1.Length == a2.Length) - { - for (int i = 0; i < a1.Length; i++) - { - if (a1[i].Length == a2[i].Length) - { - for (int j = 0; j < a1[i].Length; j++) - { - if (a1[i][j] != a2[i][j]) - { - return false; - } - } - } - } - return true; - } - else - { - return false; - } - } } - - - [global::System.Serializable] - public class NVIDIALibraryException : Exception + public class WinLibraryException : Exception { - public NVIDIALibraryException() { } - public NVIDIALibraryException(string message) : base(message) { } - public NVIDIALibraryException(string message, Exception inner) : base(message, inner) { } - protected NVIDIALibraryException( + public WinLibraryException() { } + public WinLibraryException(string message) : base(message) { } + public WinLibraryException(string message, Exception inner) : base(message, inner) { } + protected WinLibraryException( System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { } } From 24efd1a8d8ce90c5496d1c5c73aaa0e741064fa5 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 13 Nov 2021 21:32:13 +1300 Subject: [PATCH 103/112] Changes required by recent NVIDIALibrary changes --- DisplayMagicianShared/ProfileItem.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagicianShared/ProfileItem.cs b/DisplayMagicianShared/ProfileItem.cs index c63820d..680b9e2 100644 --- a/DisplayMagicianShared/ProfileItem.cs +++ b/DisplayMagicianShared/ProfileItem.cs @@ -918,7 +918,7 @@ namespace DisplayMagicianShared // Set some basics about the screen try { - uint displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId; + string displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId.ToString(); string windowsDisplayName = _nvidiaDisplayConfig.DisplayNames[displayId]; List sourceIndexes = _windowsDisplayConfig.DisplaySources[windowsDisplayName]; for (int x = 0; x < _windowsDisplayConfig.DisplayConfigModes.Length; x++) @@ -982,7 +982,7 @@ namespace DisplayMagicianShared // Set some basics about the screen try { - uint displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId; + string displayId = _nvidiaDisplayConfig.MosaicConfig.MosaicGridTopos[i].Displays[0].DisplayId.ToString(); string windowsDisplayName = _nvidiaDisplayConfig.DisplayNames[displayId]; List sourceIndexes = _windowsDisplayConfig.DisplaySources[windowsDisplayName]; for (int x = 0; x < _windowsDisplayConfig.DisplayConfigModes.Length; x++) From 9083ec7b340eb757766bae8bdb4f6ecd11a2508d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 14 Nov 2021 09:55:40 +1300 Subject: [PATCH 104/112] Created new build 2.1.0.215 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index a6e08e2..dd67723 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.214")] -[assembly: AssemblyFileVersion("2.1.0.214")] +[assembly: AssemblyVersion("2.1.0.215")] +[assembly: AssemblyFileVersion("2.1.0.215")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] From 058060ed6002a1b843dea7a9335f6d1e5bbcb461 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sun, 14 Nov 2021 13:48:01 +1300 Subject: [PATCH 105/112] Added ability to copy Shortcut and all settings This should help if a user has a really complicated shortcut and they want to make a copy to have two of them with slightly different tweaks. --- DisplayMagician/ImageUtils.cs | 28 +++++++++ DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/ShortcutItem.cs | 59 +++++++++++++++---- DisplayMagician/ShortcutRepository.cs | 39 ++++++++++++ .../UIForms/ShortcutLibraryForm.Designer.cs | 42 +++++++++++-- .../UIForms/ShortcutLibraryForm.cs | 39 ++++++++++++ 6 files changed, 191 insertions(+), 20 deletions(-) diff --git a/DisplayMagician/ImageUtils.cs b/DisplayMagician/ImageUtils.cs index 739ce57..ad3f5dd 100644 --- a/DisplayMagician/ImageUtils.cs +++ b/DisplayMagician/ImageUtils.cs @@ -353,6 +353,34 @@ namespace DisplayMagician return sc; } + public static List ShortcutBitmapClone(List shortcutBitmaps) + { + // Clones the List + + List scListToReturn = new List(); + foreach (ShortcutBitmap sc in shortcutBitmaps) + { + scListToReturn.Add(ImageUtils.ShortcutBitmapClone(sc)); + } + + return scListToReturn; + } + + public static ShortcutBitmap ShortcutBitmapClone(ShortcutBitmap shortcutBitmap) + { + // Clones the ShortcutBitmap + + ShortcutBitmap scToReturn = new ShortcutBitmap(); + scToReturn.UUID = Guid.NewGuid().ToString("D"); + scToReturn.Image = (Bitmap)shortcutBitmap.Image.Clone(); + scToReturn.Name = shortcutBitmap.Name; + scToReturn.Order = shortcutBitmap.Order; + scToReturn.Size = shortcutBitmap.Size; + scToReturn.Source = shortcutBitmap.Source; + + return scToReturn; + } + public static bool ImagesAreEqual(Bitmap imageA, Bitmap imageB) { byte[] image1Bytes; diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index dd67723..697a391 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.215")] -[assembly: AssemblyFileVersion("2.1.0.215")] +[assembly: AssemblyVersion("2.1.0.228")] +[assembly: AssemblyFileVersion("2.1.0.228")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/ShortcutItem.cs b/DisplayMagician/ShortcutItem.cs index 94d5faa..9148c18 100644 --- a/DisplayMagician/ShortcutItem.cs +++ b/DisplayMagician/ShortcutItem.cs @@ -990,8 +990,7 @@ namespace DisplayMagician // Copy all the shortcut data over to the other Shortcut shortcut.Name = Name; - shortcut.ProfileToUse = ProfileToUse; - shortcut.ProfileUUID = ProfileUUID; + shortcut.AutoName = false; // Force the autoname to be off, as it's a copy. shortcut.DisplayPermanence = DisplayPermanence; shortcut.AudioPermanence = AudioPermanence; shortcut.CapturePermanence = CapturePermanence; @@ -1008,16 +1007,9 @@ namespace DisplayMagician shortcut.StartTimeout = StartTimeout; shortcut.GameArguments = GameArguments; shortcut.GameArgumentsRequired = GameArgumentsRequired; - shortcut.OriginalIconPath = OriginalIconPath; - shortcut.OriginalLargeBitmap = OriginalLargeBitmap; - shortcut.ShortcutBitmap = ShortcutBitmap; - shortcut.SavedShortcutIconCacheFilename = SavedShortcutIconCacheFilename; - shortcut.SelectedImage = SelectedImage; - shortcut.AvailableImages = AvailableImages; + shortcut.OriginalIconPath = OriginalIconPath; shortcut.IsValid = IsValid; shortcut.Errors.AddRange(Errors); - shortcut.StartPrograms = StartPrograms; - shortcut.StopPrograms = StopPrograms; shortcut.ChangeAudioDevice = ChangeAudioDevice; shortcut.AudioDevice = AudioDevice; shortcut.SetAudioVolume = SetAudioVolume; @@ -1026,10 +1018,53 @@ namespace DisplayMagician shortcut.CaptureDevice = CaptureDevice; shortcut.SetCaptureVolume = SetCaptureVolume; shortcut.CaptureVolume = CaptureVolume; - shortcut.Hotkey = Hotkey; + // shortcut.Hotkey = Hotkey; // We cannot duplicate the Hotkey as it breaks things + + // Duplicate the Images + + shortcut.OriginalLargeBitmap = (Bitmap)OriginalLargeBitmap.Clone(); + shortcut.ShortcutBitmap = (Bitmap)ShortcutBitmap.Clone(); + //shortcut.SavedShortcutIconCacheFilename = SavedShortcutIconCacheFilename; // We want a new shortcut icon! + shortcut.SelectedImage = ImageUtils.ShortcutBitmapClone(SelectedImage); + shortcut.AvailableImages = ImageUtils.ShortcutBitmapClone(AvailableImages); + + // Duplicate the start programs + shortcut.StartPrograms = new List(); + foreach (StartProgram sp in StartPrograms) + { + StartProgram copiedStartProgram = new StartProgram(); + copiedStartProgram.Arguments = sp.Arguments; + copiedStartProgram.CloseOnFinish = sp.CloseOnFinish; + copiedStartProgram.Disabled = sp.Disabled; + copiedStartProgram.DontStartIfAlreadyRunning = sp.DontStartIfAlreadyRunning; + copiedStartProgram.Executable = sp.Executable; + copiedStartProgram.ExecutableArgumentsRequired = sp.ExecutableArgumentsRequired; + copiedStartProgram.Priority = sp.Priority; + copiedStartProgram.ProcessPriority = sp.ProcessPriority; + shortcut.StartPrograms.Add(copiedStartProgram); + } + + // Duplicate the stop programs + shortcut.StopPrograms = new List(); + foreach (StopProgram sp in StopPrograms) + { + StopProgram copiedStopProgram = new StopProgram(); + copiedStopProgram.Arguments = sp.Arguments; + copiedStopProgram.Disabled = sp.Disabled; + copiedStopProgram.DontStartIfAlreadyRunning = sp.DontStartIfAlreadyRunning; + copiedStopProgram.Executable = sp.Executable; + copiedStopProgram.ExecutableArgumentsRequired = sp.ExecutableArgumentsRequired; + copiedStopProgram.Priority = sp.Priority; + copiedStopProgram.ProcessPriority = sp.ProcessPriority; + shortcut.StopPrograms.Add(copiedStopProgram); + } + + // Do the profiles last as AutoName will error if done earlier + shortcut.ProfileToUse = ProfileToUse; + shortcut.ProfileUUID = ProfileUUID; // Save the shortcut incon to the icon cache - shortcut.ReplaceShortcutIconInCache(); + shortcut.SaveShortcutIconToCache(); shortcut.RefreshValidity(); return true; diff --git a/DisplayMagician/ShortcutRepository.cs b/DisplayMagician/ShortcutRepository.cs index a28cf90..56aed2b 100644 --- a/DisplayMagician/ShortcutRepository.cs +++ b/DisplayMagician/ShortcutRepository.cs @@ -356,6 +356,45 @@ namespace DisplayMagician return true; } + public static bool CopyShortcut(ShortcutItem shortcut, out ShortcutItem copiedShortcut) + { + + logger.Trace($"ShortcutRepository/CopyShortcut: Checking whether {shortcut.Name} exists in our shortcut repository"); + + copiedShortcut = new ShortcutItem(); + + if (!(shortcut is ShortcutItem)) + return false; + + + if (shortcut.CopyTo(copiedShortcut,false)) + { + // Copy worked! + // We add (Copy) to the end of the shortcut name + copiedShortcut.Name = copiedShortcut.Name + " (Copy)"; + // Add the shortcut to the list of shortcuts + _allShortcuts.Add(copiedShortcut); + + //Doublecheck it's been added + if (ContainsShortcut(copiedShortcut)) + { + // Select the copied shortcut + + // Save the shortcuts JSON as it's different + SaveShortcuts(); + IsValidRefresh(); + return true; + } + else + return false; + } + else + { + // Copy failed + return false; + } + } + private static bool LoadShortcuts() { diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs index 9dbf6a4..2595b0f 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs @@ -45,10 +45,12 @@ this.tsmi_edit = new System.Windows.Forms.ToolStripMenuItem(); this.tsmi_run = new System.Windows.Forms.ToolStripMenuItem(); this.tsmi_save_to_desktop = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmi_copy = new System.Windows.Forms.ToolStripMenuItem(); this.tsmi_delete = new System.Windows.Forms.ToolStripMenuItem(); this.lbl_mask = new System.Windows.Forms.Label(); this.btn_help = new System.Windows.Forms.Button(); this.btn_donate = new System.Windows.Forms.Button(); + this.btn_copy = new System.Windows.Forms.Button(); this.cms_shortcuts.SuspendLayout(); this.SuspendLayout(); // @@ -82,7 +84,7 @@ this.btn_delete.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_delete.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_delete.ForeColor = System.Drawing.Color.White; - this.btn_delete.Location = new System.Drawing.Point(462, 643); + this.btn_delete.Location = new System.Drawing.Point(377, 643); this.btn_delete.Name = "btn_delete"; this.btn_delete.Size = new System.Drawing.Size(120, 40); this.btn_delete.TabIndex = 26; @@ -115,7 +117,7 @@ this.btn_run.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_run.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_run.ForeColor = System.Drawing.Color.White; - this.btn_run.Location = new System.Drawing.Point(588, 643); + this.btn_run.Location = new System.Drawing.Point(629, 643); this.btn_run.Name = "btn_run"; this.btn_run.Size = new System.Drawing.Size(120, 40); this.btn_run.TabIndex = 25; @@ -132,7 +134,7 @@ this.btn_edit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_edit.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_edit.ForeColor = System.Drawing.Color.White; - this.btn_edit.Location = new System.Drawing.Point(336, 643); + this.btn_edit.Location = new System.Drawing.Point(251, 643); this.btn_edit.Name = "btn_edit"; this.btn_edit.Size = new System.Drawing.Size(120, 40); this.btn_edit.TabIndex = 28; @@ -149,7 +151,7 @@ this.btn_new.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_new.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_new.ForeColor = System.Drawing.Color.White; - this.btn_new.Location = new System.Drawing.Point(210, 643); + this.btn_new.Location = new System.Drawing.Point(125, 643); this.btn_new.Name = "btn_new"; this.btn_new.Size = new System.Drawing.Size(120, 40); this.btn_new.TabIndex = 29; @@ -166,7 +168,7 @@ this.btn_save.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_save.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_save.ForeColor = System.Drawing.Color.White; - this.btn_save.Location = new System.Drawing.Point(714, 643); + this.btn_save.Location = new System.Drawing.Point(755, 643); this.btn_save.Name = "btn_save"; this.btn_save.Size = new System.Drawing.Size(211, 40); this.btn_save.TabIndex = 30; @@ -214,9 +216,10 @@ this.tsmi_edit, this.tsmi_run, this.tsmi_save_to_desktop, + this.tsmi_copy, this.tsmi_delete}); this.cms_shortcuts.Name = "cms_shortcuts"; - this.cms_shortcuts.Size = new System.Drawing.Size(216, 92); + this.cms_shortcuts.Size = new System.Drawing.Size(216, 136); // // tsmi_edit // @@ -241,6 +244,13 @@ this.tsmi_save_to_desktop.Text = "Save Shortcut to Desktop..."; this.tsmi_save_to_desktop.Click += new System.EventHandler(this.tsmi_save_to_desktop_Click); // + // tsmi_copy + // + this.tsmi_copy.Name = "tsmi_copy"; + this.tsmi_copy.Size = new System.Drawing.Size(215, 22); + this.tsmi_copy.Text = "Copy Shortcut..."; + this.tsmi_copy.Click += new System.EventHandler(this.tsmi_copy_Click); + // // tsmi_delete // this.tsmi_delete.Name = "tsmi_delete"; @@ -296,6 +306,23 @@ this.btn_donate.UseVisualStyleBackColor = true; this.btn_donate.Click += new System.EventHandler(this.btn_donate_Click); // + // btn_copy + // + this.btn_copy.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.btn_copy.BackColor = System.Drawing.Color.Black; + this.btn_copy.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; + this.btn_copy.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; + this.btn_copy.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_copy.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_copy.ForeColor = System.Drawing.Color.White; + this.btn_copy.Location = new System.Drawing.Point(503, 643); + this.btn_copy.Name = "btn_copy"; + this.btn_copy.Size = new System.Drawing.Size(120, 40); + this.btn_copy.TabIndex = 36; + this.btn_copy.Text = "&Copy"; + this.btn_copy.UseVisualStyleBackColor = false; + this.btn_copy.Click += new System.EventHandler(this.btn_copy_Click); + // // ShortcutLibraryForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -303,6 +330,7 @@ this.BackColor = System.Drawing.Color.Black; this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); this.ClientSize = new System.Drawing.Size(1134, 716); + this.Controls.Add(this.btn_copy); this.Controls.Add(this.btn_donate); this.Controls.Add(this.btn_help); this.Controls.Add(this.lbl_mask); @@ -353,5 +381,7 @@ private System.Windows.Forms.Label lbl_mask; private System.Windows.Forms.Button btn_help; private System.Windows.Forms.Button btn_donate; + private System.Windows.Forms.Button btn_copy; + private System.Windows.Forms.ToolStripMenuItem tsmi_copy; } } \ No newline at end of file diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 358ab74..45ee921 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -497,6 +497,11 @@ namespace DisplayMagician.UIForms btn_delete.PerformClick(); } + private void tsmi_copy_Click(object sender, EventArgs e) + { + btn_copy.PerformClick(); + } + private void ShortcutLibraryForm_KeyPress(object sender, KeyPressEventArgs e) { if (lbl_mask.Visible == true) @@ -520,5 +525,39 @@ namespace DisplayMagician.UIForms string targetURL = @"https://github.com/sponsors/terrymacdonald"; System.Diagnostics.Process.Start(targetURL); } + + private void btn_copy_Click(object sender, EventArgs e) + { + if (_selectedShortcut == null) + { + if (ShortcutRepository.ShortcutCount > 0) + { + MessageBox.Show( + @"You need to select a Game Shortcut in order to copy it. Please select a Game Shortcut then try again, or right-click on the Game Shortcut and select 'Copy Shortcut'.", + @"Select Game Shortcut", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return; + } + else + { + MessageBox.Show( + @"You need to create a Game Shortcut in order to copy it. Please create a Game Shortcut by clicking the New button.", + @"Create Game Shortcut", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return; + } + } + else + { + ShortcutItem copiedShortcut; + // Copy the shortcut + ShortcutRepository.CopyShortcut(_selectedShortcut, out copiedShortcut); + // Select the new copied shortcut + _selectedShortcut = copiedShortcut; + // Invalidate the list of shortcuts so it gets redrawn again with the copy included! + ilv_saved_shortcuts.Invalidate(); + // Refresh the UI + RefreshShortcutLibraryUI(); + } + } + } } From ea38f25e28aa650829ef89f14073a2ac6d36d76d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 15 Nov 2021 21:45:43 +1300 Subject: [PATCH 106/112] Major improvement for ShortcutForm loading speed Also fixes the most recent bug highlighted by erbkaiser in #49. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/ShortcutForm.Designer.cs | 34 ++--- DisplayMagician/UIForms/ShortcutForm.cs | 118 +++++++++++++----- .../UIForms/ShortcutLibraryForm.Designer.cs | 2 +- .../UIForms/ShortcutLibraryForm.cs | 17 ++- 5 files changed, 123 insertions(+), 52 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 697a391..f5de862 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.228")] -[assembly: AssemblyFileVersion("2.1.0.228")] +[assembly: AssemblyVersion("2.1.0.239")] +[assembly: AssemblyFileVersion("2.1.0.239")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index 723267c..58581f1 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -93,6 +93,7 @@ namespace DisplayMagician.UIForms this.rb_standalone = new System.Windows.Forms.RadioButton(); this.rb_no_game = new System.Windows.Forms.RadioButton(); this.p_game = new System.Windows.Forms.Panel(); + this.btn_refresh_games_list = new System.Windows.Forms.Button(); this.btn_choose_game_icon = new System.Windows.Forms.Button(); this.pb_game_icon = new System.Windows.Forms.PictureBox(); this.lbl_no_game_libraries = new System.Windows.Forms.Label(); @@ -132,7 +133,6 @@ namespace DisplayMagician.UIForms this.cb_autosuggest = new System.Windows.Forms.CheckBox(); this.btn_hotkey = new System.Windows.Forms.Button(); this.lbl_hotkey_assigned = new System.Windows.Forms.Label(); - this.btn_refresh_games_list = new System.Windows.Forms.Button(); this.tabc_shortcut.SuspendLayout(); this.tabp_display.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); @@ -996,6 +996,22 @@ namespace DisplayMagician.UIForms this.p_game.Size = new System.Drawing.Size(1076, 389); this.p_game.TabIndex = 7; // + // btn_refresh_games_list + // + this.btn_refresh_games_list.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btn_refresh_games_list.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; + this.btn_refresh_games_list.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; + this.btn_refresh_games_list.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_refresh_games_list.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btn_refresh_games_list.ForeColor = System.Drawing.Color.White; + this.btn_refresh_games_list.Location = new System.Drawing.Point(950, 162); + this.btn_refresh_games_list.Name = "btn_refresh_games_list"; + this.btn_refresh_games_list.Size = new System.Drawing.Size(117, 25); + this.btn_refresh_games_list.TabIndex = 42; + this.btn_refresh_games_list.Text = "Refresh Games List"; + this.btn_refresh_games_list.UseVisualStyleBackColor = true; + this.btn_refresh_games_list.Click += new System.EventHandler(this.btn_refresh_games_list_Click); + // // btn_choose_game_icon // this.btn_choose_game_icon.Enabled = false; @@ -1491,22 +1507,6 @@ namespace DisplayMagician.UIForms this.lbl_hotkey_assigned.Visible = false; this.lbl_hotkey_assigned.Click += new System.EventHandler(this.lbl_hotkey_assigned_Click); // - // btn_refresh_games_list - // - this.btn_refresh_games_list.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btn_refresh_games_list.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed; - this.btn_refresh_games_list.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; - this.btn_refresh_games_list.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btn_refresh_games_list.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btn_refresh_games_list.ForeColor = System.Drawing.Color.White; - this.btn_refresh_games_list.Location = new System.Drawing.Point(950, 162); - this.btn_refresh_games_list.Name = "btn_refresh_games_list"; - this.btn_refresh_games_list.Size = new System.Drawing.Size(117, 25); - this.btn_refresh_games_list.TabIndex = 42; - this.btn_refresh_games_list.Text = "Refresh Games List"; - this.btn_refresh_games_list.UseVisualStyleBackColor = true; - this.btn_refresh_games_list.Click += new System.EventHandler(this.btn_refresh_games_list_Click); - // // ShortcutForm // this.AcceptButton = this.btn_save; diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index 3726b8d..dcb6cfa 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -61,15 +61,16 @@ namespace DisplayMagician.UIForms //private string _userExeIconPath = ""; private List _availableImages = new List(); private ShortcutBitmap _selectedImage = new ShortcutBitmap(); + private bool _firstShow = true; private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); - public ShortcutForm(ShortcutItem shortcutToEdit, bool editingExistingShortcut = false) + public ShortcutForm() { InitializeComponent(); Program.AppSplashScreen = new LoadingForm(); Program.AppSplashScreen.Title = "Preparing images..."; - Program.AppSplashScreen.Description = "Preparing images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; + Program.AppSplashScreen.Description = "Preparing images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list."; var splashThread = new Thread(new ThreadStart( () => Application.Run(Program.AppSplashScreen))); splashThread.SetApartmentState(ApartmentState.STA); @@ -82,9 +83,6 @@ namespace DisplayMagician.UIForms _profileAdaptor = new ProfileAdaptor(); _gameAdaptor = new GameAdaptor(); - _editingExistingShortcut = editingExistingShortcut; - _shortcutToEdit = shortcutToEdit; - // Style the Saved Profiles list ilv_saved_profiles.MultiSelect = false; ilv_saved_profiles.ThumbnailSize = new Size(100, 100); @@ -126,6 +124,7 @@ namespace DisplayMagician.UIForms public ShortcutItem Shortcut { get => _shortcutToEdit; + set => _shortcutToEdit = value; } public bool EditingExistingShortcut @@ -940,22 +939,63 @@ namespace DisplayMagician.UIForms } } - private void ShortcutForm_Load(object sender, EventArgs e) + private void ClearForm() + { + // Clear the textboxes + txt_alternative_executable.Text = ""; + txt_alternative_game.Text = ""; + txt_args_executable.Text = ""; + txt_args_game.Text = ""; + txt_executable.Text = ""; + txt_game_name.Text = "Please select a game from the list below..."; + txt_run_cmd_afterwards.Text = ""; + txt_run_cmd_afterwards_args.Text = ""; + txt_shortcut_save_name.Text = ""; + + // Set the radio buttons to default + rb_no_change_audio.Checked = true; + rb_change_audio.Checked = false; + rb_keep_audio_volume.Checked = true; + rb_set_audio_volume.Checked = false; + rb_change_capture.Checked = false; + rb_keep_capture_volume.Checked = false; + rb_no_change_capture.Checked = true; + rb_set_capture_volume.Checked = false; + + // Set the game mode on load + rb_launcher.Checked = true; + rb_no_game.Checked = false; + rb_standalone.Checked = false; + + // Set the checkboxes + cb_args_executable.Checked = false; + cb_args_game.Checked = false; + cb_autosuggest.Checked = true; + cb_run_cmd_afterwards.Checked = false; + cb_run_cmd_afterwards_args.Checked = false; + cb_wait_alternative_game.Checked = false; + + // Wipe the pictureboxes if they're in use + if (pb_exe_icon.Image != null) + { + pb_exe_icon.Image = null; + } + if (pb_game_icon.Image != null) + { + pb_game_icon.Image = null; + } + } + + private void LoadShortcut() { Game shortcutGame = null; - - // Parse the game bitmaps now the first time as we need them - // We need to add a refresh button to the shortcut page now! - if (!GameLibraries.GameLibrary.GamesImagesLoaded) - { - GameLibraries.GameLibrary.RefreshGameBitmaps(); - } - // Load all the profiles to prepare things bool foundChosenProfileInLoadedProfiles = false; ProfileItem chosenProfile = null; + ClearForm(); + // Prepare the Game process priority combo box cbx_game_priority.DataSource = new ComboItem[] { new ComboItem{ Value = ProcessPriority.High, Text = "High" }, @@ -982,6 +1022,9 @@ namespace DisplayMagician.UIForms cbx_exe_priority.SelectedIndex = 2; //Normal cbx_exe_priority.Enabled = true; + // Empty the selected game in case this is a reload + txt_alternative_executable.Text = ""; + // Populate all the Audio devices in the audio devices list. // Set the Audio device to the shortcut audio device only if // the Change Audio radiobutton is set @@ -1400,11 +1443,11 @@ namespace DisplayMagician.UIForms { txt_shortcut_save_name.Text = _shortcutToEdit.Name; } - + // Set the selected image and available images (originalBitmap is set during shortcut update) - - + + if (_editingExistingShortcut) { ShortcutBitmap defaultBitmap = new ShortcutBitmap(); @@ -1436,12 +1479,12 @@ namespace DisplayMagician.UIForms // If the game is selected, then grab images from the game if (shortcutGame != null) { - _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); + _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.IconPath)); if (shortcutGame.ExePath != shortcutGame.IconPath) { _availableImages.AddRange(ImageUtils.GetMeAllBitmapsFromFile(shortcutGame.ExePath)); } - + } // If the different exe to monitor is set, then grab the icons from there too! if (!String.IsNullOrWhiteSpace(_shortcutToEdit.DifferentGameExeToMonitor) && File.Exists(_shortcutToEdit.DifferentGameExeToMonitor)) @@ -1567,8 +1610,8 @@ namespace DisplayMagician.UIForms btn_choose_exe_icon.Enabled = true; } } - } - } + } + } else { // We're editing a new shortcut, so no game or anything selected @@ -1578,7 +1621,7 @@ namespace DisplayMagician.UIForms if (_shortcutToEdit.StartPrograms is List && _shortcutToEdit.StartPrograms.Count > 0) { flp_start_programs.Controls.Clear(); - + Padding firstStartProgramMargin = new Padding(10) { }; Padding otherStartProgramMargin = new Padding(10, 0, 10, 10) { }; @@ -1592,7 +1635,7 @@ namespace DisplayMagician.UIForms continue; } - StartProgramControl startProgramControl = new StartProgramControl(myStartProgram,spOrder); + StartProgramControl startProgramControl = new StartProgramControl(myStartProgram, spOrder); startProgramControl.Dock = DockStyle.None; if (spOrder == 1) { @@ -1601,7 +1644,7 @@ namespace DisplayMagician.UIForms else { startProgramControl.Margin = otherStartProgramMargin; - } + } startProgramControl.Width = flp_start_programs.Width - 40; startProgramControl.MouseDown += new MouseEventHandler(StartProgramControl_MouseDown); startProgramControl.DragOver += new DragEventHandler(StartProgramControl_DragOver); @@ -1615,13 +1658,13 @@ namespace DisplayMagician.UIForms // Setup the single stop program we're beginning with if (_shortcutToEdit.StopPrograms is List && _shortcutToEdit.StopPrograms.Count > 0) { - cb_run_cmd_afterwards.Checked = true; + cb_run_cmd_afterwards.Checked = true; txt_run_cmd_afterwards.Text = _shortcutToEdit.StopPrograms[0].Executable; if (_shortcutToEdit.StopPrograms[0].ExecutableArgumentsRequired) { cb_run_cmd_afterwards_args.Checked = true; txt_run_cmd_afterwards_args.Text = _shortcutToEdit.StopPrograms[0].Arguments; - } + } } else { @@ -1639,8 +1682,26 @@ namespace DisplayMagician.UIForms // Finally enable the save button if it's still valid EnableSaveButtonIfValid(); - // Close the splash screen - CloseTheSplashScreen(); + } + + private void ShortcutForm_Load(object sender, EventArgs e) + { + if (_firstShow) + { + // Parse the game bitmaps now the first time as we need them + // We need to add a refresh button to the shortcut page now! + if (!GameLibraries.GameLibrary.GamesImagesLoaded) + { + GameLibraries.GameLibrary.RefreshGameBitmaps(); + } + + // Close the splash screen + CloseTheSplashScreen(); + _firstShow = false; + } + // Load the shortcut info + LoadShortcut(); + } @@ -2870,6 +2931,7 @@ namespace DisplayMagician.UIForms MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } + } // Class used to populate combo boxes diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs index 2595b0f..a2bfe9a 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.Designer.cs @@ -219,7 +219,7 @@ this.tsmi_copy, this.tsmi_delete}); this.cms_shortcuts.Name = "cms_shortcuts"; - this.cms_shortcuts.Size = new System.Drawing.Size(216, 136); + this.cms_shortcuts.Size = new System.Drawing.Size(216, 114); // // tsmi_edit // diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index 45ee921..c09dcbb 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -265,11 +265,15 @@ namespace DisplayMagician.UIForms private void btn_new_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; + ShortcutItem si = new ShortcutItem(); if (_shortcutForm == null) { - _shortcutForm = new ShortcutForm(new ShortcutItem(), false); - } - //ShortcutRepository.IsValidRefresh(); + _shortcutForm = new ShortcutForm(); + } + //ShortcutRepository.IsValidRefresh() + // Set the Shortcut to as a new shortcut + _shortcutForm.Shortcut = si; + _shortcutForm.EditingExistingShortcut = false; _shortcutForm.ShowDialog(this); if (_shortcutForm.DialogResult == DialogResult.OK) { @@ -317,7 +321,12 @@ namespace DisplayMagician.UIForms this.Cursor = Cursors.WaitCursor; - _shortcutForm = new ShortcutForm(_selectedShortcut,true); + if (_shortcutForm == null) + { + _shortcutForm = new ShortcutForm(); + } + _shortcutForm.Shortcut = _selectedShortcut; + _shortcutForm.EditingExistingShortcut = true; //ilv_saved_shortcuts.SuspendLayout(); _shortcutForm.ShowDialog(this); if (_shortcutForm.DialogResult == DialogResult.OK) From 714cb910ec33034ec82fcd527e68aff9a53aa29b Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 19 Nov 2021 09:27:56 +1300 Subject: [PATCH 107/112] Fixed profile selection in new shortcuts The shortcut selection logic was wrong. Now fixed. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- .../UIForms/ShortcutForm.Designer.cs | 1 - DisplayMagician/UIForms/ShortcutForm.cs | 40 ++++++++++++++----- .../UIForms/ShortcutLibraryForm.cs | 2 +- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index f5de862..b3445a8 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.239")] -[assembly: AssemblyFileVersion("2.1.0.239")] +[assembly: AssemblyVersion("2.1.0.246")] +[assembly: AssemblyFileVersion("2.1.0.246")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.Designer.cs b/DisplayMagician/UIForms/ShortcutForm.Designer.cs index 58581f1..26d7a02 100644 --- a/DisplayMagician/UIForms/ShortcutForm.Designer.cs +++ b/DisplayMagician/UIForms/ShortcutForm.Designer.cs @@ -225,7 +225,6 @@ namespace DisplayMagician.UIForms this.tabc_shortcut.ShowToolTips = true; this.tabc_shortcut.Size = new System.Drawing.Size(1090, 767); this.tabc_shortcut.TabIndex = 28; - this.tabc_shortcut.Click += new System.EventHandler(this.tabc_shortcut_VisibleChanged); // // tabp_display // diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index dcb6cfa..fbf8c72 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -897,7 +897,7 @@ namespace DisplayMagician.UIForms else if (rb_switch_display_temp.Checked) txt_shortcut_save_name.Text = $"{_profileToUse.Name} (Temporary)"; } - else if (rb_launcher.Checked && ilv_games.SelectedItems.Count >0) + else if (rb_launcher.Checked && ilv_games.SelectedItems.Count > 0) { txt_shortcut_save_name.Text = $"{txt_game_name.Text} ({_profileToUse.Name})"; } @@ -924,7 +924,7 @@ namespace DisplayMagician.UIForms } } - private void SelectGameInImageListView() + /*private void SelectGameInImageListView() { ilv_games.ClearSelection(); IEnumerable matchingImageListViewItems = (from item in ilv_games.Items where item.Text == _shortcutToEdit.GameName select item); @@ -937,7 +937,7 @@ namespace DisplayMagician.UIForms ilv_games.EnsureVisible(itemToSelect.Index); //ilv_games.Refresh(); } - } + }*/ private void ClearForm() { @@ -1309,10 +1309,30 @@ namespace DisplayMagician.UIForms } // If we get to the end of the loaded profiles and haven't // found a matching profile, then we need to show the current profile - // that we're running now + // that we're running now (only if that's been saved) else if (!foundChosenProfileInLoadedProfiles && ProfileRepository.ProfileCount > 0) { - chosenProfile = ProfileRepository.GetActiveProfile(); ; + ProfileItem currentProfile = ProfileRepository.GetActiveProfile(); + bool foundCurrentProfile = false; + foreach(ProfileItem profileToCheck in ProfileRepository.AllProfiles) + { + if (profileToCheck.Equals(currentProfile)) + { + chosenProfile = currentProfile; + foundCurrentProfile = true; + } + } + + // If we get here, and we still haven't matched the profile, then just pick the first one + if (!foundCurrentProfile) + { + if (ProfileRepository.ProfileCount > 0) + { + chosenProfile = ProfileRepository.AllProfiles[0]; + } + + } + } @@ -1450,7 +1470,7 @@ namespace DisplayMagician.UIForms if (_editingExistingShortcut) { - ShortcutBitmap defaultBitmap = new ShortcutBitmap(); + //ShortcutBitmap defaultBitmap = new ShortcutBitmap(); // Check if AvailableImages have been set, because if not, then we need to 'upgrade' the image structure // To use this new way of working @@ -2798,11 +2818,11 @@ namespace DisplayMagician.UIForms EnableSaveButtonIfValid(); } - private void tabc_shortcut_VisibleChanged(object sender, EventArgs e) + /*private void tabc_shortcut_VisibleChanged(object sender, EventArgs e) { - if (tabc_shortcut.Visible == true) - SelectGameInImageListView(); - } + //if (tabc_shortcut.Visible == true) + // SelectGameInImageListView(); + }*/ private void btn_find_examples_startprograms_Click(object sender, EventArgs e) { diff --git a/DisplayMagician/UIForms/ShortcutLibraryForm.cs b/DisplayMagician/UIForms/ShortcutLibraryForm.cs index c09dcbb..7f7e952 100644 --- a/DisplayMagician/UIForms/ShortcutLibraryForm.cs +++ b/DisplayMagician/UIForms/ShortcutLibraryForm.cs @@ -62,7 +62,7 @@ namespace DisplayMagician.UIForms // Temporarily stop updating the saved_profiles listview ilv_saved_shortcuts.SuspendLayout(); - ImageListViewItem newItem = null; + ImageListViewItem newItem = null; ilv_saved_shortcuts.Items.Clear(); foreach (ShortcutItem loadedShortcut in ShortcutRepository.AllShortcuts.OrderBy(s => s.Name)) From db0bfbecbebd192e1017dab4cc92bba9d2becb08 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 19 Nov 2021 21:08:38 +1300 Subject: [PATCH 108/112] Fixed bug preventing autonaing from working With the recent changes to the way that ShortcutForm worked, I had left a logic check that was no longer needed, an in fact actually caused an Autoname bug. Now fixed. --- DisplayMagician/Properties/AssemblyInfo.cs | 4 +- DisplayMagician/UIForms/ShortcutForm.cs | 54 +++++++--------------- 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index b3445a8..be34c16 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.246")] -[assembly: AssemblyFileVersion("2.1.0.246")] +[assembly: AssemblyVersion("2.1.0.249")] +[assembly: AssemblyFileVersion("2.1.0.249")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagician/UIForms/ShortcutForm.cs b/DisplayMagician/UIForms/ShortcutForm.cs index fbf8c72..aeee6f7 100644 --- a/DisplayMagician/UIForms/ShortcutForm.cs +++ b/DisplayMagician/UIForms/ShortcutForm.cs @@ -924,21 +924,6 @@ namespace DisplayMagician.UIForms } } - /*private void SelectGameInImageListView() - { - ilv_games.ClearSelection(); - IEnumerable matchingImageListViewItems = (from item in ilv_games.Items where item.Text == _shortcutToEdit.GameName select item); - if (matchingImageListViewItems.Any()) - { - ImageListViewItem itemToSelect = matchingImageListViewItems.First(); - itemToSelect.Selected = true; - itemToSelect.Focused = true; - itemToSelect.Enabled = true; - ilv_games.EnsureVisible(itemToSelect.Index); - //ilv_games.Refresh(); - } - }*/ - private void ClearForm() { // Clear the textboxes @@ -1635,6 +1620,7 @@ namespace DisplayMagician.UIForms else { // We're editing a new shortcut, so no game or anything selected + ilv_games.ClearSelection(); } // Set up the start programs @@ -2791,26 +2777,23 @@ namespace DisplayMagician.UIForms private void ilv_games_ItemClick(object sender, ItemClickEventArgs e) { - if (ilv_games.SelectedItems.Count > 0) + txt_game_name.Text = e.Item.Text; + foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) { - txt_game_name.Text = e.Item.Text; - foreach (Game game in DisplayMagician.GameLibraries.GameLibrary.AllInstalledGamesInAllLibraries) + if (game.Name == txt_game_name.Text) { - if (game.Name == txt_game_name.Text) - { - if (_loadedShortcut) - _isUnsaved = true; - _gameLauncher = game.GameLibrary.ToString("G"); - lbl_game_library.Text = $"Game Library: {_gameLauncher}"; - _gameId = game.Id; - _availableImages = game.AvailableGameBitmaps; - _shortcutToEdit.AvailableImages = game.AvailableGameBitmaps; - _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); - _shortcutToEdit.SelectedImage = _selectedImage; - pb_game_icon.Image = _selectedImage.Image; - btn_choose_game_icon.Enabled = true; - break; - } + if (_loadedShortcut) + _isUnsaved = true; + _gameLauncher = game.GameLibrary.ToString("G"); + lbl_game_library.Text = $"Game Library: {_gameLauncher}"; + _gameId = game.Id; + _availableImages = game.AvailableGameBitmaps; + _shortcutToEdit.AvailableImages = game.AvailableGameBitmaps; + _selectedImage = ImageUtils.GetMeLargestAvailableBitmap(_availableImages); + _shortcutToEdit.SelectedImage = _selectedImage; + pb_game_icon.Image = _selectedImage.Image; + btn_choose_game_icon.Enabled = true; + break; } } @@ -2818,11 +2801,6 @@ namespace DisplayMagician.UIForms EnableSaveButtonIfValid(); } - /*private void tabc_shortcut_VisibleChanged(object sender, EventArgs e) - { - //if (tabc_shortcut.Visible == true) - // SelectGameInImageListView(); - }*/ private void btn_find_examples_startprograms_Click(object sender, EventArgs e) { From 77ab0f20f187571582f1d102570beeb53387538d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 19 Nov 2021 22:20:43 +1300 Subject: [PATCH 109/112] Updated NVIDIA Library and WinLibrary based on testing Did a HUGE amount of testing with the amazing help of @domenic as part of #41, and we finally got the right configuration sorted out! This update is a reflection of the changes required. --- DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs | 94 +++++------ DisplayMagicianShared/Windows/CCD.cs | 14 ++ DisplayMagicianShared/Windows/GDI.cs | 150 +++++++++++++++++- DisplayMagicianShared/Windows/WinLibrary.cs | 97 +++++++++-- 4 files changed, 295 insertions(+), 60 deletions(-) diff --git a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs index 2740262..b04b9ed 100644 --- a/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs +++ b/DisplayMagicianShared/NVIDIA/NVIDIALibrary.cs @@ -1293,7 +1293,7 @@ namespace DisplayMagicianShared.NVIDIA NVAPI_STATUS NVStatus = NVAPI_STATUS.NVAPI_ERROR; // Remove any custom NVIDIA Colour settings - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off colour if it's default set colour."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off colour if it's default set colour."); // Now we try to set each display color foreach (var colorDataDict in displayConfig.ColorConfig.ColorData) { @@ -1305,91 +1305,91 @@ namespace DisplayMagicianShared.NVIDIA if (!ActiveDisplayConfig.ColorConfig.ColorData.ContainsKey(displayId)) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off prior NVIDIA Color Settings."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Display {displayId} doesn't exist in this setup, so skipping turning off prior NVIDIA Color Settings."); continue; } // If the setting for this display is not the same as we want, then we set it to NV_COLOR_SELECTION_POLICY_BEST_QUALITY if (ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy != colorData.ColorSelectionPolicy) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off NVIDIA customer colour settings for display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off NVIDIA customer colour settings for display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); // Force the colorData to be NV_COLOR_SELECTION_POLICY_BEST_QUALITY so that we return the color control to Windows // We will change the colorData to whatever is required later on colorData = displayConfig.ColorConfig.ColorData[displayId]; colorData.ColorSelectionPolicy = NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY; - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off standard colour mode for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want the standard colour settings to be {displayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} and they are {ActiveDisplayConfig.ColorConfig.ColorData[displayId].ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off standard colour mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings Color selection policy {colorData.ColorSelectionPolicy.ToString("G")} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings BPC {colorData.Bpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour format {colorData.ColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colourimetry {colorData.Colorimetry} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings colour depth {colorData.Depth} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want standard colour settings dynamic range {colorData.DynamicRange} for Mosaic display {displayId}"); // Set the command as a 'SET' colorData.Cmd = NV_COLOR_CMD.NV_COLOR_CMD_SET; NVStatus = NVImport.NvAPI_Disp_ColorControl(displayIdAsUInt32, ref colorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_ColorControl returned OK. BPC is set to {colorData.Bpc.ToString("G")}. Color Format is set to {colorData.ColorFormat.ToString("G")}. Colorimetry is set to {colorData.Colorimetry.ToString("G")}. Color Selection Policy is set to {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth is set to {colorData.Depth.ToString("G")}. Dynamic Range is set to {colorData.DynamicRange.ToString("G")}"); switch (colorData.ColorSelectionPolicy) { case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_USER: - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_USER so the color settings have been set by the user in the NVIDIA Control Panel."); break; case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_BEST_QUALITY: // Also matches NV_COLOR_SELECTION_POLICY_DEFAULT as it is 1 - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_BEST_QUALITY so the color settings are being handled by the Windows OS."); break; case NV_COLOR_SELECTION_POLICY.NV_COLOR_SELECTION_POLICY_UNKNOWN: - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Color Selection Policy is set to NV_COLOR_SELECTION_POLICY_UNKNOWN so the color settings aren't being handled by either the Windows OS or the NVIDIA Setup!"); break; } } else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: Your monitor {displayId} doesn't support the requested color settings. BPC = {colorData.Bpc.ToString("G")}. Color Format = {colorData.ColorFormat.ToString("G")}. Colorimetry = {colorData.Colorimetry.ToString("G")}. Color Selection Policy = {colorData.ColorSelectionPolicy.ToString("G")}. Color Depth = {colorData.Depth.ToString("G")}. Dynamic Range = {colorData.DynamicRange.ToString("G")}. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_ColorControl() returned error code {NVStatus}"); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while seting the color settings! NvAPI_Disp_ColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support this color mode."); } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want only want to turn off custom NVIDIA colour settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA colour mode."); } } catch (Exception ex) { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA specific colour settings for display {displayId}."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while turning off prior NVIDIA specific colour settings for display {displayId}."); } } // Remove any custom NVIDIA HDR Colour settings - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn off HDR colour if it's user set HDR colour."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn off HDR colour if it's user set HDR colour."); // Now we try to set each display color foreach (var hdrColorDataDict in displayConfig.HdrConfig.HdrColorData) { @@ -1403,64 +1403,64 @@ namespace DisplayMagicianShared.NVIDIA if (!ActiveDisplayConfig.HdrConfig.HdrColorData.ContainsKey(displayId)) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Display {displayId} doesn't exist in this setup, so skipping turning off HDR."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Display {displayId} doesn't exist in this setup, so skipping turning off HDR."); continue; } // if it's not the same HDR we want, then we turn off HDR (and will apply it if needed later on in SetActiveOverride) if (ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode != hdrColorData.HdrMode) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want to turn on custom HDR mode for display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to turn on custom HDR mode for display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: HDR mode is currently {ActiveDisplayConfig.HdrConfig.HdrColorData[displayId].HdrMode.ToString("G")} for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings BPC {hdrColorData.HdrBpc} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Colour Format {hdrColorData.HdrColorFormat} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR dynamic range {hdrColorData.HdrDynamicRange} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings HDR Mode {hdrColorData.HdrMode} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Mastering Display Data {hdrColorData.MasteringDisplayData} for Mosaic display {displayId}"); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want HDR settings Static Meradata Description ID {hdrColorData.StaticMetadataDescriptorId} for Mosaic display {displayId}"); // Apply the HDR removal hdrColorData.Cmd = NV_HDR_CMD.CMD_SET; hdrColorData.HdrMode = NV_HDR_MODE.OFF; NVStatus = NVImport.NvAPI_Disp_HdrColorControl(displayIdAsUInt32, ref hdrColorData); if (NVStatus == NVAPI_STATUS.NVAPI_OK) { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Disp_HdrColorControl returned OK. We just successfully turned off the HDR mode for Mosaic display {displayId}."); } else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR) { - SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfigOverride: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); + SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_Disp_HdrColorControl() returned error code {NVStatus}"); } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_Disp_HdrColorControl() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR."); } } else { - SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfigOverride: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want only want to turn off custom NVIDIA HDR settings if needed for display {displayId}, and that currently isn't required. Skipping changing NVIDIA HDR mode."); } } catch (Exception ex) { - SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); + SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}."); } } @@ -1486,7 +1486,8 @@ namespace DisplayMagicianShared.NVIDIA if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_SetDisplayGrids returned OK."); - //Task.Delay(500); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 second to let the Mosaic display change take place before continuing"); + System.Threading.Thread.Sleep(500); } else if (NVStatus == NVAPI_STATUS.NVAPI_NO_ACTIVE_SLI_TOPOLOGY) { @@ -1541,7 +1542,8 @@ namespace DisplayMagicianShared.NVIDIA if (NVStatus == NVAPI_STATUS.NVAPI_OK) { SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_Mosaic_EnableCurrentTopo returned OK. Previously set Mosiac config re-enabled."); - //Task.Delay(500); + SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Waiting 0.5 second to let the Mosaic display change take place before continuing"); + System.Threading.Thread.Sleep(500); } else if (NVStatus == NVAPI_STATUS.NVAPI_NOT_SUPPORTED) { diff --git a/DisplayMagicianShared/Windows/CCD.cs b/DisplayMagicianShared/Windows/CCD.cs index 6ad13b8..1819917 100644 --- a/DisplayMagicianShared/Windows/CCD.cs +++ b/DisplayMagicianShared/Windows/CCD.cs @@ -164,6 +164,7 @@ namespace DisplayMagicianShared.Windows SDC_FORCE_MODE_ENUMERATION = 0x00001000, SDC_ALLOW_PATH_ORDER_CHANGES = 0x00002000, SDC_VIRTUAL_MODE_AWARE = 0x00008000, + SDC_VIRTUAL_REFRESH_RATE_AWARE = 0x00020000, // Special common combinations (only set in this library) TEST_IF_VALID_DISPLAYCONFIG = (SDC_VALIDATE | SDC_USE_SUPPLIED_DISPLAY_CONFIG), @@ -971,6 +972,19 @@ namespace DisplayMagicianShared.Windows public int Right; public int Bottom; + public RECTL(int left, int top, int right, int bottom) + { + this.Left = left; + this.Top = top; + this.Right = right; + this.Bottom = bottom; + } + + public static RECTL FromXYWH(int x, int y, int width, int height) + { + return new RECTL(x, y, x + width, y + height); + } + public override bool Equals(object obj) => obj is RECTL other && this.Equals(other); public bool Equals(RECTL other) => Left == other.Left && diff --git a/DisplayMagicianShared/Windows/GDI.cs b/DisplayMagicianShared/Windows/GDI.cs index 2c51295..f3648e5 100644 --- a/DisplayMagicianShared/Windows/GDI.cs +++ b/DisplayMagicianShared/Windows/GDI.cs @@ -1,9 +1,6 @@ using System; -using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; namespace DisplayMagicianShared.Windows { @@ -56,6 +53,8 @@ namespace DisplayMagicianShared.Windows BadDualView = -6 } + + [Flags] public enum CHANGE_DISPLAY_SETTINGS_FLAGS : UInt32 { @@ -269,6 +268,17 @@ namespace DisplayMagicianShared.Windows Primary = 1 } + [StructLayout(LayoutKind.Sequential)] + public struct APP_BAR_DATA + { + public int cbSize; + public IntPtr hWnd; + public int uCallbackMessage; + public ABE_EDGE uEdge; + public RECTL rc; + public ABS_SETTING lParam; + } + // https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565(v=vs.85).aspx @@ -401,6 +411,7 @@ namespace DisplayMagicianShared.Windows [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct DISPLAY_DEVICE : IEquatable { + [MarshalAs(UnmanagedType.U4)] public UInt32 Size; @@ -579,8 +590,44 @@ namespace DisplayMagicianShared.Windows } } + public enum ABM_MESSAGE : UInt32 + { + ABM_NEW = 0x00000000, // Registers a new appbar and specifies the message identifier that the system should use to send notification messages to the appbar. + ABM_REMOVE = 0x00000001, // Unregisters an appbar, removing the bar from the system's internal list. + ABM_QUERYPOS = 0x00000002, // Requests a size and screen position for an appbar. + ABM_SETPOS = 0x00000003, // Sets the size and screen position of an appbar. + ABM_GETSTATE = 0x00000004, // Retrieves the autohide and always-on-top states of the Windows taskbar. + ABM_GETTASKBARPOS = 0x00000005, // Retrieves the bounding rectangle of the Windows taskbar. Note that this applies only to the system taskbar. Other objects, particularly toolbars supplied with third-party software, also can be present. As a result, some of the screen area not covered by the Windows taskbar might not be visible to the user. To retrieve the area of the screen not covered by both the taskbar and other app bars—the working area available to your application—, use the GetMonitorInfo function. + ABM_ACTIVATE = 0x00000006, // Notifies the system to activate or deactivate an appbar. The lParam member of the APPBARDATA pointed to by pData is set to TRUE to activate or FALSE to deactivate. + ABM_GETAUTOHIDEBAR = 0x00000007, // Retrieves the handle to the autohide appbar associated with a particular edge of the screen. + ABM_SETAUTOHIDEBAR = 0x00000008, // Registers or unregisters an autohide appbar for an edge of the screen. + ABM_WINDOWPOSCHANGED = 0x00000009, // Notifies the system when an appbar's position has changed. + ABM_SETSTATE = 0x0000000A, // Windows XP and later: Sets the state of the appbar's autohide and always-on-top attributes. + ABM_GETAUTOHIDEBAREX = 0x0000000B, // Windows XP and later: Retrieves the handle to the autohide appbar associated with a particular edge of a particular monitor. + ABM_SETAUTOHIDEBAREX = 0x0000000C, // Windows XP and later: Registers or unregisters an autohide appbar for an edge of a particular monitor. + } + + public enum ABE_EDGE : UInt32 + { + ABE_LEFT = 0, + ABE_TOP = 1, + ABE_RIGHT = 2, + ABE_BOTTOM = 3, + } + + [Flags] + public enum ABS_SETTING : UInt32 + { + ABS_AUTOHIDE = 0x1, + ABS_ALWAYSONTOP = 0x2, + } + + class GDIImport { + private const int ABS_NO_AUTOHIDE = 0x00; + private const int ABS_AUTOHIDE = 0x01; + [DllImport("user32", CharSet = CharSet.Ansi)] public static extern CHANGE_DISPLAY_RESULTS ChangeDisplaySettingsEx( string deviceName, @@ -668,6 +715,14 @@ namespace DisplayMagicianShared.Windows [DllImport("gdi32")] internal static extern bool SetDeviceGammaRamp(DCHandle dcHandle, ref GAMMA_RAMP ramp); + [DllImport("User32.dll", CharSet = CharSet.Auto)] + private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int cx, int cy, bool repaint); + + // This code was part of development to add recording taskbar location and state so that we could apply it later + // Windows 11 doesn't support moving + [DllImport("Shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHAppBarMessage(ABM_MESSAGE dwMessage, ref APP_BAR_DATA abd); + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate int MonitorEnumProcedure( IntPtr monitorHandle, @@ -675,5 +730,94 @@ namespace DisplayMagicianShared.Windows ref RECTL rect, IntPtr callbackObject ); + + + public static APP_BAR_DATA GetTaskbarPosition() + { + APP_BAR_DATA abd = new APP_BAR_DATA(); + abd.cbSize = Marshal.SizeOf(abd); + + // Query the system for an approved size and position. + SHAppBarMessage(ABM_MESSAGE.ABM_GETTASKBARPOS, ref abd); + + return abd; + } + + public static bool GetTaskbarAutoHide(APP_BAR_DATA abd) + { + // Query the system for an approved size and position. + ABS_SETTING state = (ABS_SETTING)SHAppBarMessage(ABM_MESSAGE.ABM_GETSTATE, ref abd); + + return state.HasFlag(ABS_SETTING.ABS_AUTOHIDE); + } + + + //public static void MoveTaskbar(APP_BAR_DATA abd, ABE_EDGE edge, Size idealSize) + public static void SetTaskbarPosition(APP_BAR_DATA abd, ABE_EDGE edge) + { + abd.uEdge = edge; + SHAppBarMessage(ABM_MESSAGE.ABM_SETPOS, ref abd); + + /*// Get current size + int idealSize = 100; + + if (edge == ABE_EDGE.ABE_LEFT || edge == ABE_EDGE.ABE_RIGHT) + { + abd.rc.Top = 0; + abd.rc.Bottom = SystemInformation.PrimaryMonitorSize.Height; + if (edge == ABE_EDGE.ABE_LEFT) + { + abd.rc.Right = idealSize; + } + else + { + abd.rc.Right = SystemInformation.PrimaryMonitorSize.Width; + abd.rc.Left = abd.rc.Right - idealSize; + } + + } + else + { + abd.rc.Left = 0; + abd.rc.Right = SystemInformation.PrimaryMonitorSize.Width; + if (edge == ABE_EDGE.ABE_TOP) + { + abd.rc.Bottom = idealSize; + } + else + { + abd.rc.Bottom = SystemInformation.PrimaryMonitorSize.Height; + abd.rc.Top = abd.rc.Bottom - idealSize; + } + } + + ABS_SETTING state = (ABS_SETTING)SHAppBarMessage(ABM_MESSAGE.ABM_GETSTATE, ref abd);*/ + } + + // THE FOLLOWING CODE WAS AN ATTEMPT TO SET THE TASKBAR POSITION USING CODE + // TURNS OUT WE CAN'T ACTUALLY SET THE POSITION PROGRAMMATICALLY iIN WIN10 or WIN11 + // Next we want to remember where the windows toolbar is for each screen + // Query the system for an approved size and position. + // APP_BAR_DATA taskbarPosition = GDIImport.GetTaskbarPosition(); + // bool taskbarAutoHide = GDIImport.GetTaskbarAutoHide(taskbarPosition); + + // try to move the taskbar + // GDIImport.SetTaskbarPosition(taskbarPosition, ABE_EDGE.ABE_TOP); + // GDIImport.SetTaskbarAutoHide(taskbarPosition, true); + + public static void SetTaskbarAutoHide(APP_BAR_DATA abd, bool hide) + { + if (hide) + { + // Set the autohide flag + abd.lParam |= ABS_SETTING.ABS_AUTOHIDE; + } + else + { + // Clear the autohide flag + abd.lParam &= ~ABS_SETTING.ABS_AUTOHIDE; + } + SHAppBarMessage(ABM_MESSAGE.ABM_GETSTATE, ref abd); + } } } \ No newline at end of file diff --git a/DisplayMagicianShared/Windows/WinLibrary.cs b/DisplayMagicianShared/Windows/WinLibrary.cs index b1ef8b1..c266b7a 100644 --- a/DisplayMagicianShared/Windows/WinLibrary.cs +++ b/DisplayMagicianShared/Windows/WinLibrary.cs @@ -999,11 +999,11 @@ namespace DisplayMagicianShared.Windows if (displayConfig.IsCloned) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have a cloned display in this display profile, so using the Windows GDI to set the layout"); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have a cloned display in this display profile"); } else { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile, so using the Windows CCD to set the layout"); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: We have no cloned displays in thus display profile"); } // Now we go through the Paths to update the LUIDs as per Soroush's suggestion @@ -1021,27 +1021,97 @@ namespace DisplayMagicianShared.Windows } else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. Display configuration not applied."); - return false; + SharedLogger.logger.Warn($"WinLibrary/SetActiveConfig: The combination of parameters and flags specified is invalid. Display configuration not applied. So trying again without SDC_FORCE_MODE_ENUMERATION as that works on some computers."); + // Try it again, because in some systems it doesn't work at the first try + err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.DISPLAYMAGICIAN_SET); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Retry. Successfully set the display configuration to the settings supplied!"); + } + else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) + { + SharedLogger.logger.Warn($"WinLibrary/SetActiveConfig: Retry. The combination of parameters and flags specified is invalid. Display configuration not applied. So trying again without any specific data other than the topology as that works on some computers."); + // Try it again, because in some systems it doesn't work at the 2nd try! This is a fallback mode just to get something on the screen! + err = CCDImport.SetDisplayConfig(myPathsCount, displayConfig.DisplayConfigPaths, myModesCount, displayConfig.DisplayConfigModes, SDC.SDC_APPLY | SDC.SDC_TOPOLOGY_SUPPLIED | SDC.SDC_ALLOW_CHANGES | SDC.SDC_ALLOW_PATH_ORDER_CHANGES); + if (err == WIN32STATUS.ERROR_SUCCESS) + { + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Retry 2. Successfully set the display configuration to the settings supplied!"); + } + else if (err == WIN32STATUS.ERROR_INVALID_PARAMETER) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. The combination of parameters and flags specified is invalid. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_GEN_FAILURE) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. An unspecified error occurred. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); + return false; + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry 2. SetDisplayConfig couldn't set the display configuration using the settings supplied. Display configuration not applied."); + return false; + } + } + else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry. The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry. The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_GEN_FAILURE) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry. An unspecified error occurred. Display configuration not applied."); + return false; + } + else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry. The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); + return false; + } + else + { + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: Retry. SetDisplayConfig couldn't set the display configuration using the settings supplied. Display configuration not applied."); + return false; + } } else if (err == WIN32STATUS.ERROR_NOT_SUPPORTED) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The system is not running a graphics driver that was written according to the Windows Display Driver Model (WDDM). The function is only supported on a system with a WDDM driver running. Display configuration not applied."); return false; } else if (err == WIN32STATUS.ERROR_ACCESS_DENIED) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The caller does not have access to the console session. This error occurs if the calling process does not have access to the current desktop or is running on a remote session. Display configuration not applied."); return false; } else if (err == WIN32STATUS.ERROR_GEN_FAILURE) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: An unspecified error occurred. Display configuration not applied."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: An unspecified error occurred. Display configuration not applied."); return false; } else if (err == WIN32STATUS.ERROR_BAD_CONFIGURATION) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); + SharedLogger.logger.Error($"WinLibrary/SetActiveConfig: The function could not find a workable solution for the source and target modes that the caller did not specify. Display configuration not applied."); return false; } else @@ -1055,6 +1125,8 @@ namespace DisplayMagicianShared.Windows SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Waiting 0.5 seconds to let the display change take place before adjusting the Windows CCD HDR settings"); System.Threading.Thread.Sleep(500); + // NOTE: There is currently no way within Windows CCD API to set the HDR settings to any particular setting + // This code will only turn on the HDR setting. foreach (ADVANCED_HDR_INFO_PER_PATH myHDRstate in displayConfig.DisplayHDRStates) { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Trying to get information whether HDR color is in use now on Display {myHDRstate.Id}."); @@ -1069,9 +1141,10 @@ namespace DisplayMagicianShared.Windows { SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: Advanced Color Info gathered from Display {myHDRstate.Id}"); - if (myHDRstate.AdvancedColorInfo.AdvancedColorSupported && colorInfo.AdvancedColorEnabled != myHDRstate.AdvancedColorInfo.AdvancedColorEnabled) + if (myHDRstate.AdvancedColorInfo.AdvancedColorEnabled != colorInfo.AdvancedColorEnabled) { - SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.AdvancedColorEnabled} but is currently {colorInfo.AdvancedColorEnabled}."); + SharedLogger.logger.Trace($"WinLibrary/SetActiveConfig: HDR is available for use on Display {myHDRstate.Id}, and we want it set to {myHDRstate.AdvancedColorInfo.BitsPerColorChannel} but is currently {colorInfo.AdvancedColorEnabled}."); + var setColorState = new DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE(); setColorState.Header.Type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE; @@ -1102,7 +1175,8 @@ namespace DisplayMagicianShared.Windows } - // Get the existing displays + + // Get the existing displays config Dictionary currentGdiDisplaySettings = GetGdiDisplaySettings(); // Apply the previously saved display settings to the new displays (match them up) @@ -1177,6 +1251,7 @@ namespace DisplayMagicianShared.Windows } } + return true; } From b8c71191bb8416e401b018e8bed1464fb37b949d Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 19 Nov 2021 22:26:03 +1300 Subject: [PATCH 110/112] Update all builds to x64 No 32bit builds as no OS we can support is 32bit any more. --- DisplayMagician/DisplayMagician.csproj | 4 ++-- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShared/DisplayMagicianShared.csproj | 4 +++- .../DisplayMagicianShellExtension.csproj | 4 +++- DisplayMagicianTests/DisplayMagicianTests.csproj | 5 +++++ 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 704c96e..301ae19 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -31,7 +31,7 @@ true - AnyCPU + x64 true full false @@ -44,7 +44,7 @@ false - AnyCPU + x64 pdbonly true ..\Release\ diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index be34c16..6528303 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.249")] -[assembly: AssemblyFileVersion("2.1.0.249")] +[assembly: AssemblyVersion("2.1.0.250")] +[assembly: AssemblyFileVersion("2.1.0.250")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianShared/DisplayMagicianShared.csproj b/DisplayMagicianShared/DisplayMagicianShared.csproj index d3c6e52..e90ed84 100644 --- a/DisplayMagicianShared/DisplayMagicianShared.csproj +++ b/DisplayMagicianShared/DisplayMagicianShared.csproj @@ -23,14 +23,16 @@ 4 Auto true + x64 pdbonly true - ..\Release\ + bin\Release\ TRACE prompt 4 + x64 Resources\DisplayMagician.ico diff --git a/DisplayMagicianShellExtension/DisplayMagicianShellExtension.csproj b/DisplayMagicianShellExtension/DisplayMagicianShellExtension.csproj index e6d2995..cbaa084 100644 --- a/DisplayMagicianShellExtension/DisplayMagicianShellExtension.csproj +++ b/DisplayMagicianShellExtension/DisplayMagicianShellExtension.csproj @@ -24,16 +24,18 @@ true false DisplayMagicianShellExtension.ruleset + x64 pdbonly true - ..\Release\ + bin\Release\ TRACE prompt 4 DisplayMagicianShellExtension.ruleset true + x64 Resources\DisplayMagician.ico diff --git a/DisplayMagicianTests/DisplayMagicianTests.csproj b/DisplayMagicianTests/DisplayMagicianTests.csproj index 7cb915c..f2f6428 100644 --- a/DisplayMagicianTests/DisplayMagicianTests.csproj +++ b/DisplayMagicianTests/DisplayMagicianTests.csproj @@ -10,6 +10,11 @@ bin\Debug\ + x64 + + + + x64 From 63fdf646c7386173602f6db16332df954d899037 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Fri, 19 Nov 2021 22:34:48 +1300 Subject: [PATCH 111/112] Assembly version updates to align version numbers --- DisplayMagician/DisplayMagician.csproj | 2 +- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianSetup/DisplayMagicianSetup.wixproj | 2 +- DisplayMagicianShared/Properties/AssemblyInfo.cs | 4 ++-- DisplayMagicianShellExtension/Properties/AssemblyInfo.cs | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DisplayMagician/DisplayMagician.csproj b/DisplayMagician/DisplayMagician.csproj index 301ae19..a16c759 100644 --- a/DisplayMagician/DisplayMagician.csproj +++ b/DisplayMagician/DisplayMagician.csproj @@ -47,7 +47,7 @@ x64 pdbonly true - ..\Release\ + bin\Release\ TRACE prompt 4 diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index 6528303..ca4a82f 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.250")] -[assembly: AssemblyFileVersion("2.1.0.250")] +[assembly: AssemblyVersion("2.1.0.253")] +[assembly: AssemblyFileVersion("2.1.0.253")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)] diff --git a/DisplayMagicianSetup/DisplayMagicianSetup.wixproj b/DisplayMagicianSetup/DisplayMagicianSetup.wixproj index d981642..cf90f90 100644 --- a/DisplayMagicianSetup/DisplayMagicianSetup.wixproj +++ b/DisplayMagicianSetup/DisplayMagicianSetup.wixproj @@ -38,7 +38,7 @@ obj\$(Platform)\$(Configuration)\ False True - DisplayMagicianFilesDir=H:\vscode-projects\DisplayMagician\DisplayMagician\bin\Debug + DisplayMagicianFilesDir=H:\vscode-projects\DisplayMagician\DisplayMagician\bin\Release True diff --git a/DisplayMagicianShared/Properties/AssemblyInfo.cs b/DisplayMagicianShared/Properties/AssemblyInfo.cs index 23ed537..255e154 100644 --- a/DisplayMagicianShared/Properties/AssemblyInfo.cs +++ b/DisplayMagicianShared/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("2.1.0.0")] +[assembly: AssemblyFileVersion("2.1.0.0")] \ No newline at end of file diff --git a/DisplayMagicianShellExtension/Properties/AssemblyInfo.cs b/DisplayMagicianShellExtension/Properties/AssemblyInfo.cs index 4381164..376ef2f 100644 --- a/DisplayMagicianShellExtension/Properties/AssemblyInfo.cs +++ b/DisplayMagicianShellExtension/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] \ No newline at end of file +[assembly: AssemblyVersion("2.1.0.0")] +[assembly: AssemblyFileVersion("2.1.0.0")] \ No newline at end of file From 7e8ec4b1aa0ac190aec3623875daeef2dd16c008 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Sat, 20 Nov 2021 08:24:08 +1300 Subject: [PATCH 112/112] Update to v2.1.0.254 --- DisplayMagician/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DisplayMagician/Properties/AssemblyInfo.cs b/DisplayMagician/Properties/AssemblyInfo.cs index ca4a82f..85ffb93 100644 --- a/DisplayMagician/Properties/AssemblyInfo.cs +++ b/DisplayMagician/Properties/AssemblyInfo.cs @@ -26,8 +26,8 @@ using System.Resources; [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] // Version information -[assembly: AssemblyVersion("2.1.0.253")] -[assembly: AssemblyFileVersion("2.1.0.253")] +[assembly: AssemblyVersion("2.1.0.254")] +[assembly: AssemblyFileVersion("2.1.0.254")] [assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: CLSCompliant(true)]