From e3037aa5e2b406a52fee83ed8943580d8bd57813 Mon Sep 17 00:00:00 2001 From: Rom Walton Date: Wed, 25 Jun 2008 17:28:50 +0000 Subject: [PATCH] - WINSETUP: Store and cleanup a set of flags to avoid repeatedly migrating data back and forth. - WINSETUP: If the migration uninstall routine detects a newer version of BOINC being installed, skip the uninstall process. win_build/installerv2/redist/Windows/src/boinccas/ boinccas.rc boinccas95.def boinccas95.vcproj CAMigrateBOINCData.cpp CAMigrateBOINCDataCleanup.cpp, .h (Added) CAMigrateBOINCDataVersion.cpp, .h (Added) CAValidateInstall.cpp win_build/installerv2/redist/Windows/Win32/ boinccas.dll boinccas95.dll win_build/installerv2/redist/Windows/x64/ boinccas.dll boinccas95.dll svn path=/trunk/boinc/; revision=15466 --- checkin_notes | 21 ++++ .../redist/Windows/Win32/boinccas.dll | Bin 172032 -> 172032 bytes .../redist/Windows/Win32/boinccas95.dll | Bin 143360 -> 151552 bytes .../src/boinccas/CAMigrateBOINCData.cpp | 36 +++++- .../boinccas/CAMigrateBOINCDataCleanup.cpp | 111 +++++++++++++++++ .../src/boinccas/CAMigrateBOINCDataCleanup.h | 38 ++++++ .../boinccas/CAMigrateBOINCDataVersion.cpp | 114 ++++++++++++++++++ .../src/boinccas/CAMigrateBOINCDataVersion.h | 38 ++++++ .../src/boinccas/CAValidateInstall.cpp | 12 +- .../redist/Windows/src/boinccas/boinccas.rc | 8 +- .../Windows/src/boinccas/boinccas95.def | 2 + .../Windows/src/boinccas/boinccas95.vcproj | 16 +++ .../redist/Windows/x64/boinccas.dll | Bin 239104 -> 239104 bytes .../redist/Windows/x64/boinccas95.dll | Bin 206848 -> 213504 bytes 14 files changed, 382 insertions(+), 14 deletions(-) create mode 100644 win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.cpp create mode 100644 win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.h create mode 100644 win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.cpp create mode 100644 win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.h diff --git a/checkin_notes b/checkin_notes index 769eda6d79..af25d7cc32 100644 --- a/checkin_notes +++ b/checkin_notes @@ -5107,3 +5107,24 @@ David 23 June 2008 html/inc/ user.inc team.inc + +Rom 25 June 2008 + - WINSETUP: Store and cleanup a set of flags to avoid repeatedly + migrating data back and forth. + - WINSETUP: If the migration uninstall routine detects a newer + version of BOINC being installed, skip the uninstall process. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + boinccas95.def + boinccas95.vcproj + CAMigrateBOINCData.cpp + CAMigrateBOINCDataCleanup.cpp, .h (Added) + CAMigrateBOINCDataVersion.cpp, .h (Added) + CAValidateInstall.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll diff --git a/win_build/installerv2/redist/Windows/Win32/boinccas.dll b/win_build/installerv2/redist/Windows/Win32/boinccas.dll index 0c8b1d03d234661b1c6a2574bd3efbefcb54419f..ecd2498c6dcc4bdec30f160b3776f9246f1fad0e 100644 GIT binary patch delta 101 zcmZoTz}0YoYr+raSCvT!Zueqj+;spXw4MDB4P;WHmYC89;!MA%6PZ1g4jarrVDvGI=usY2jq1w>AI;!z9K4 delta 101 zcmZoTz}0YoYr+rapLe1r{`O_!Qfl^M-0sE5xa$B&Xgm8M#;L&qw$fn_w#e7{Y`OP@ yXNRkR!1gtwOdLvJ1>4P;WHmXX7(jrLA!_>F1g4ja2HTG(GI=usY2jq1w>AJI;w3!* diff --git a/win_build/installerv2/redist/Windows/Win32/boinccas95.dll b/win_build/installerv2/redist/Windows/Win32/boinccas95.dll index dc49e7e14ca6152bbd88accc29ce4df60c8bca3e..f77e3743b84bc8131fe5d05c48580e933280a127 100644 GIT binary patch delta 52373 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
lq1#QN-gqy2@50A=%iBOh`z}s-WZ*6Pod6k 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 F`9Euz1nd9+ diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCData.cpp b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCData.cpp index 9d9fb2e443..0439c23fbe 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCData.cpp +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCData.cpp @@ -326,9 +326,12 @@ UINT CAMigrateBOINCData::OnExecution() tstring strCurrentDataDirectory; tstring strFutureDataDirectory; tstring strMigration; + tstring strMigrationSkipped; + tstring strMigrationVersion; tstring strMigrationDirectory; tstring strDestinationClientStateFile; tstring strRemove; + tstring strProductVersion; struct _stat buf; ULONGLONG ullFileSize = 0; ULONGLONG ullDirectorySize = 0; @@ -354,19 +357,35 @@ UINT CAMigrateBOINCData::OnExecution() if ( uiReturnValue ) return uiReturnValue; uiReturnValue = GetRegistryValue( _T("MIGRATION"), strMigration ); + uiReturnValue = GetRegistryValue( _T("MIGRATIONVERSION"), strMigrationVersion ); uiReturnValue = GetRegistryValue( _T("MIGRATIONDIR"), strMigrationDirectory ); uiReturnValue = GetProperty( _T("REMOVE"), strRemove ); if ( uiReturnValue ) return uiReturnValue; + uiReturnValue = GetProperty( _T("ProductVersion"), strProductVersion ); + if ( uiReturnValue ) return uiReturnValue; + // If the REMOVE property is specified, then we are uninstalling BOINC, and // need to move things back to their orginal location. if (strRemove.length()) { - strCustomActionData = strMigration + _T("|"); - strCustomActionData += strFutureDataDirectory + _T("|"); - strCustomActionData += strMigrationDirectory; + if ( 0 <= _tcscmp(strProductVersion.c_str(), strMigrationVersion.c_str()) ) + { + strCustomActionData = strMigration + _T("|"); + strCustomActionData += strFutureDataDirectory + _T("|"); + strCustomActionData += strMigrationDirectory; + } + else + { + // We are installing a new version, so skip the uninstall process + // + strMigrationSkipped = _T("1"); + strCustomActionData = _T("FALSE|"); + strCustomActionData += strFutureDataDirectory + _T("|"); + strCustomActionData += strMigrationDirectory; + } } else { @@ -384,6 +403,12 @@ UINT CAMigrateBOINCData::OnExecution() if ( bClientStateExists ) { + // If migration was done with a previous 6.x client then we don't need + // to migrate, but we do need to preserve our migration settings + if ((strProductVersion == strMigrationVersion) && (strMigration == _T("TRUE"))) + { + strMigrationSkipped = _T("1"); + } strMigration = _T("FALSE"); LogMessage( INSTALLMESSAGE_INFO, @@ -506,7 +531,10 @@ UINT CAMigrateBOINCData::OnExecution() strCustomActionData += strFutureDataDirectory; } - SetRegistryValue( _T("MIGRATION"), strMigration ); + if ( _T("1") != strMigrationSkipped ) + { + SetRegistryValue( _T("MIGRATION"), strMigration ); + } SetRegistryValue( _T("MIGRATIONDIR"), strMigrationDirectory ); SetProperty( _T("CAMigrateBOINCDataInstall"), strCustomActionData ); SetProperty( _T("CAMigrateBOINCDataRollback"), strCustomActionData ); diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.cpp b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.cpp new file mode 100644 index 0000000000..b71a84c6c0 --- /dev/null +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.cpp @@ -0,0 +1,111 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +#include "stdafx.h" +#include "boinccas.h" +#include "CAMigrateBOINCDataCleanup.h" +#include "dirops.h" + +#define CUSTOMACTION_NAME _T("CAMigrateBOINCDataCleanup") +#define CUSTOMACTION_PROGRESSTITLE _T("Cleanup current installer's version.") + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +CAMigrateBOINCDataCleanup::CAMigrateBOINCDataCleanup(MSIHANDLE hMSIHandle) : + BOINCCABase(hMSIHandle, CUSTOMACTION_NAME, CUSTOMACTION_PROGRESSTITLE) +{} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +CAMigrateBOINCDataCleanup::~CAMigrateBOINCDataCleanup() +{ + BOINCCABase::~BOINCCABase(); +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT CAMigrateBOINCDataCleanup::OnExecution() +{ + tstring strMigrationVersion; + UINT uiReturnValue = -1; + + LogMessage( + INSTALLMESSAGE_INFO, + NULL, + NULL, + NULL, + NULL, + _T("CAMigrateBOINCDataCleanup::OnExecution -- Function Begin") + ); + + + uiReturnValue = SetRegistryValue( _T("MIGRATIONVERSION"), _T("") ); + if ( uiReturnValue ) return uiReturnValue; + + + LogMessage( + INSTALLMESSAGE_INFO, + NULL, + NULL, + NULL, + NULL, + _T("CAMigrateBOINCDataCleanup::OnExecution -- Function End") + ); + + return ERROR_SUCCESS; +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: MigrateBOINCDataCleanup +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT __stdcall MigrateBOINCDataCleanup(MSIHANDLE hInstall) +{ + UINT uiReturnValue = 0; + + CAMigrateBOINCDataCleanup* pCA = new CAMigrateBOINCDataCleanup(hInstall); + uiReturnValue = pCA->Execute(); + delete pCA; + + return uiReturnValue; +} + diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.h b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.h new file mode 100644 index 0000000000..e16a6a7fad --- /dev/null +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataCleanup.h @@ -0,0 +1,38 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +#ifndef _CAMIGRATEBOINCDATACLEANUP_H_ +#define _CAMIGRATEBOINCDATACLEANUP_H_ + + +class CAMigrateBOINCDataCleanup : public BOINCCABase +{ +public: + + CAMigrateBOINCDataCleanup(MSIHANDLE hMSIHandle); + ~CAMigrateBOINCDataCleanup(); + + virtual UINT OnExecution(); + +}; + + +#endif + diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.cpp b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.cpp new file mode 100644 index 0000000000..544a24590f --- /dev/null +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.cpp @@ -0,0 +1,114 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +#include "stdafx.h" +#include "boinccas.h" +#include "CAMigrateBOINCDataVersion.h" +#include "dirops.h" + +#define CUSTOMACTION_NAME _T("CAMigrateBOINCDataVersion") +#define CUSTOMACTION_PROGRESSTITLE _T("Store current installer's version.") + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +CAMigrateBOINCDataVersion::CAMigrateBOINCDataVersion(MSIHANDLE hMSIHandle) : + BOINCCABase(hMSIHandle, CUSTOMACTION_NAME, CUSTOMACTION_PROGRESSTITLE) +{} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +CAMigrateBOINCDataVersion::~CAMigrateBOINCDataVersion() +{ + BOINCCABase::~BOINCCABase(); +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT CAMigrateBOINCDataVersion::OnExecution() +{ + tstring strMigrationVersion; + UINT uiReturnValue = -1; + + LogMessage( + INSTALLMESSAGE_INFO, + NULL, + NULL, + NULL, + NULL, + _T("CAMigrateBOINCDataVersion::OnExecution -- Function Begin") + ); + + + uiReturnValue = GetProperty( _T("ProductVersion"), strMigrationVersion ); + if ( uiReturnValue ) return uiReturnValue; + + uiReturnValue = SetRegistryValue( _T("MIGRATIONVERSION"), strMigrationVersion ); + if ( uiReturnValue ) return uiReturnValue; + + + LogMessage( + INSTALLMESSAGE_INFO, + NULL, + NULL, + NULL, + NULL, + _T("CAMigrateBOINCDataVersion::OnExecution -- Function End") + ); + + return ERROR_SUCCESS; +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: MigrateBOINCDataVersion +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT __stdcall MigrateBOINCDataVersion(MSIHANDLE hInstall) +{ + UINT uiReturnValue = 0; + + CAMigrateBOINCDataVersion* pCA = new CAMigrateBOINCDataVersion(hInstall); + uiReturnValue = pCA->Execute(); + delete pCA; + + return uiReturnValue; +} + diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.h b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.h new file mode 100644 index 0000000000..41e4c547b9 --- /dev/null +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAMigrateBOINCDataVersion.h @@ -0,0 +1,38 @@ +// Berkeley Open Infrastructure for Network Computing +// http://boinc.berkeley.edu +// Copyright (C) 2005 University of California +// +// This is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; +// either version 2.1 of the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU Lesser General Public License for more details. +// +// To view the GNU Lesser General Public License visit +// http://www.gnu.org/copyleft/lesser.html +// or write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +#ifndef _CAMIGRATEBOINCDATAVERSION_H_ +#define _CAMIGRATEBOINCDATAVERSION_H_ + + +class CAMigrateBOINCDataVersion : public BOINCCABase +{ +public: + + CAMigrateBOINCDataVersion(MSIHANDLE hMSIHandle); + ~CAMigrateBOINCDataVersion(); + + virtual UINT OnExecution(); + +}; + + +#endif + diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CAValidateInstall.cpp b/win_build/installerv2/redist/Windows/src/boinccas/CAValidateInstall.cpp index 36ce82e510..eccabfc7f1 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/CAValidateInstall.cpp +++ b/win_build/installerv2/redist/Windows/src/boinccas/CAValidateInstall.cpp @@ -72,37 +72,37 @@ UINT CAValidateInstall::OnExecution() if ( uiReturnValue ) return uiReturnValue; // Default to success - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("1")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("1")); strTemp = strInstallDirectory + _T("\\boinc.exe"); if (!ValidateExecutable( strTemp, strProductVersion )) { - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("0")); } strTemp = strInstallDirectory + _T("\\boinc.dll"); if (!ValidateExecutable( strTemp, strProductVersion )) { - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("0")); } strTemp = strInstallDirectory + _T("\\boincmgr.exe"); if (!ValidateExecutable( strTemp, strProductVersion )) { - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("0")); } strTemp = strInstallDirectory + _T("\\boinccmd.exe"); if (!ValidateExecutable( strTemp, strProductVersion )) { - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("0")); } strTemp = strInstallDirectory + _T("\\boinctray.exe"); if (!ValidateExecutable( strTemp, strProductVersion )) { - SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("")); + SetProperty(_T("RETURN_VALIDATEINSTALL"), _T("0")); } diff --git a/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc b/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc index 5aa5dbe7d9..ee57066cdf 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc +++ b/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,90 - PRODUCTVERSION 1,0,0,90 + FILEVERSION 1,0,0,95 + PRODUCTVERSION 1,0,0,95 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -70,12 +70,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "BOINC Dynamic Link Library" - VALUE "FileVersion", "1.0.0.90" + VALUE "FileVersion", "1.0.0.95" VALUE "InternalName", "BOINC" VALUE "LegalCopyright", "Copyright (C) 2005-2008" VALUE "OriginalFilename", "BOINC.dll" VALUE "ProductName", " BOINC Dynamic Link Library" - VALUE "ProductVersion", "1.0.0.90" + VALUE "ProductVersion", "1.0.0.95" END END BLOCK "VarFileInfo" diff --git a/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.def b/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.def index 4163f705a3..944b63ce84 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.def +++ b/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.def @@ -8,6 +8,8 @@ EXPORTS DllMain ValidateSetupType MigrateBOINCData + MigrateBOINCDataVersion + MigrateBOINCDataCleanup MigrateX86X64 RestoreSetupState SaveSetupState diff --git a/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.vcproj b/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.vcproj index 5b25ee9ff4..fe6ec06493 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.vcproj +++ b/win_build/installerv2/redist/Windows/src/boinccas/boinccas95.vcproj @@ -385,6 +385,14 @@ RelativePath=".\CAMigrateBOINCData.cpp" > + + + + @@ -482,6 +490,14 @@ RelativePath=".\CAMigrateBOINCData.h" > + + + + diff --git a/win_build/installerv2/redist/Windows/x64/boinccas.dll b/win_build/installerv2/redist/Windows/x64/boinccas.dll index 78eab3568e2796c776858b26f4b52faca74b8325..cdc2aa0f09ccf3d1edbe5655ea87f0ce1444a7c5 100644 GIT binary patch delta 106 zcmZoT!`E^@v5YWuYH*#7qT>4GqzhZGH$nKWI9;}65q~V!DO2wkoNcP(u|lh z{(C-~=WZ>3oxeTg3Dbleu!83S%x^t8;~7AJks*Hi-C4{p8BMnzpUv#e2&9GQGQZ^j E0HQZ2CjbBd delta 106 zcmZoT!`E^)4Nd&Y3#00N8*QPc0vVt&bJu>JUKW^YCyEj*X` GEe8NC6)Cd- diff --git a/win_build/installerv2/redist/Windows/x64/boinccas95.dll b/win_build/installerv2/redist/Windows/x64/boinccas95.dll index 0fcd3394bc9a9c1606a0e713b42185bc7c40760b..e06d2d4b7673e0ecd3ea4b0b55b9f5380c73a697 100644 GIT binary patch delta 70604 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

RHfenS_A0liH4u=FcWykp5EA95S0+mX6LL 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 delta 65153 zcma$(2Ut_d)|m+*w2%mdUIK(JML|Rn1O*KOiXA)lzKaTq6%`vsY@?3r`YdZ%dtb4O zWyRjRt83q@xNCQ<m7FDL@j*rpH*)gW+XMCEEZ)k|33w^cD&E-?37OhL!ig5_fV3SGUQ+lKD`u;}Mo5 z%<{Ik3(M)5mjei{4WLRDWRl2xFp`|q6?W8GwAB?n(ddd~jRB&+uG7B*urL_F zZw{dx3!VOq;O9@?nI&2d4nmT&B9D75NJCjD?pU1+mIZlr4djL6TL9Z4b;xCwq-iy2 zz*!?~t4?;wmTH#0Hcukw!08CYUaJ2V5n z1^F74{@GxV-CB_P5;uzuO(yvuNs_*iO5fCC7jUr@euM&@K1Z8S@D}Gfij@L^QWyn* z9SuOQWiFA&4C=Y5j3E<=Lp%GB5{pH6kvGY*bf`1O8%dJ&$u9Fl1fee!r4`A}HpP<2^ZKLut3q>cvfk278wCJHnPmMi+4^CU{!pU+qTm9B6L08+ z9J&64VD3$xSO#EAZ=$wpiI>+R{j7rVlt?nq$`kjAB-^bPVpl)X%6hMlbxja+;@`>% zg}mMzP_llQvrhV2S5RI)R3?gKk4|v@yCmKROSQ32nnku__(MXoz{WA$W)z8Ch)t{@axxyG%@6 zNe8=i`1L(vY44AcNrZjhMs1y-vkH6L=$ok~9?Ovljm2k`zL^7mt}Q-0=$kq7=K%59 zSywPxG@Wz{p}rIO)7}$%IS~USX9Bi*In+h@4M9tVNS|U8`8QBH2$R*&U8y#l%Sgx< z_P5cevPvC<0URU>ki|hNeJZQpL1@lFqAbZA7*_`oVP7dD6wqHs$cNOQ**`TOmS^6KA$ zUKYbs;Yb@W&ji(A^E7?Kz%sM6qK1LHz@JHA-0A@iz&;`{g99_5xx1Kg3Ij!6V47DF zuw)lF5sAl9@!y@QKrI?4oUih!c!=LMsq=uiW(S%TVg?SWJzLChEzBMk01xAmCIoztb+oO zLph;Wb%Vhm*1v+&fUbEZ6X6NkvIg1$!|Y7qNM~V;9U1HFj64<$kF{wR(Fx~F66JKNKZ%y##|eY{!joVz`afm|4I z@EDD6*pZFiT2kzx!O0o`+Y}A5=R?#(@Py}i_;NLlu*WkD#gZ~l7gU$XyawYH)?~O> z7|yjOtG)c7?2K0(>|jl-G|8wA$?S8tZ39$` zG}5Ny;cifYE7_=Z!!2CMNv%H)b|J5{oA6O9vfe*}T=sMK4t53|>-T7nGS8u(rY&J< zQD3Ah_*6brEm%7Pfj_C^KNugd1fnf?uatBR2*$Idq$og(V;x9IEe~=w;3)2Knk)$H zgY7Ue3-U)bNJvn$ayJ5hxuY8AsV*5!lk*XCNlL*eE%WLrdRt+nge(j8LE+>`a3uDXkPpFi z;GtGXI-cr4=7-n9-R;PkaDNCzjP`<8xB7IifMS+F0QoQcY}i39A`ey@N|I zs2cBAwO~_?6UBs%z`HOI#gHeV;TWliN0>jprXo8-fwX}ZFNWL%Ut@d%GZ!K8V3 zG9Iepl{d5Hl?T`YpB>V@1_@bIy%G7Cs=!VPBCp|r-`emR(rS#5t}JIzKk`qFFcd&M zY9`|~3eKd!8kjg$djsmx6-BuiW$R$gDIe9GDt-5{g3^kth;;YvVD;TrL0`gzq892| zaY~D*!O|BWDk!bV`lwmbTdyS~u~w*b1Ehm$`A7>PomVRmhnYk73b<7XSreTe;tT9c z4}d2cYfvXbG%&Fwr?akLk9HMkPc>M<6gd;J!l#!K5*ed~*%tzWbMVl#b~Ee67h!y+ z!Q{H#jI631g|jY_TeZUiGN4$eKP|kK!X)~4PM7cTd-8(u3zC*V+9k#p`H+H`NNF#4 z+8N`Ayvd(2>G-xeITvqF+Qj+bon|~+6lafTv8+GYT4y#6ctbRa{$ya?Fg#Am5jNGe z!rfTbpWLlG0;^sd5$wpk*f0$99AkJb)*eT&tUqz6Hw~YBX+*LoH|lASJNZ~I8J`eQ zS>4MeoQl;wie>%D(YV>z?gdaqkZJK+p8*CI#E3d$3R@yto~^Nu(hZ0_jrAk{#*e@s zo*Ahu$lChu$dw$epDZ;1f+`_Odi4_`jT8K&n;`u$VIyw(6p+)Tn?Ay0qPuh!q>Rtj z#KE}nKV0VY2J>(ofjnpshAjo6Zs;f7@>W9P8m`3-Tgl^w-EAGKbnk~!(jmze|N4*& zOA7WG`4CL7v=JYRX@$LKl+;`8Qwm-DRtLSDX;AyY!$d>QDAF~_ z0Uvt+e6(^Hxk_Qt12Q(*1Lr>=i<5nknjA`wHuHTTkq~7sjV!GwG|hqdG-`?$z9Tbw zsmZ1$8fosoh-gwANl7E6G#&CEnt*~D&BeC`GQDwIY3(BWBDlT<`Sp9?`Xcz5oILy< zSR#U#%86f_@6>(ZBCorJob&+jr>{jDFM_2oFShXu{07`m1aC73b1!P8&0vk!2>&6Q z+c>&4`Ucxf#O`TMyxV@KuHP?kQ5?-l7Jxr~Ey^SjTq+}rzXxtCg7akLR$ISXpQ)`y z9a{i+CR2O1QSF(+>+`UlDq-L}UF1n&`#lnq*#empedZCjwQQ751mN48I=y<$OxGVy z(O+VV!GjOTfOejE@Ix}K-95bbJ{i=0F804qEIOo<+>V*J{yB1{V=8`embiEF4>*1n z*s%53U>U5&%A`8|37xc=vo7}eV41KUfXaQgLh?h>x05d(dzMV^)ELV*kt?0L;FYV0 z;gmDU=q#7tL|}^%7f9#MNr81&u|OJ}f==H`o2@H&ui`;nX5vmeaDHH8?HKam^W=Ev z2ur))3|n!Zj*XhkrAg(NF)gp3_0q`@S!C@ zK~}+j9pfNN;Exwr#TkO~6zX3V0r6*YFQz|Ek_JTMmdD8`NZgK-Z3Dt^*)h_xTV3f>a0@fL1!JGJWKTDW zuiYfAyT{=*H^}xLUe%sgox(kY5jV)g9%1d=S>y*U8j@++G|-bU{UTY?-${9?YFVF)Cj2` zFQGNxJJCPZ6%`2}qtL-LyoAAHO~cvtkl^7B1e~3vv z_Y%RjNB6&&!j3}gSM%po{w#A`T_dKcC9G=QCGtmh zT|DY6$sghhTU#U|yD{#4kc=KwAFo_M`uy0@;VPKkmqc$aaH8NdoM^*5PNY7-h_tPK zf|Z*3@_n|FI|@~Wuezacy)5}xAK zu9?HDt+twp>c{w;j)Aughk4e&>0zRMq{+f^eEa$WT1n1L`a6W7H zGCtZzbD8-4?^K9??#b8Glh1JK-N!j~{n?y)Ecwo3m{EFcC;dhS+9XZMuAwWMpuG)5WYHkkcs5DToDTg^IzbD|UI`N> zt#F(6Eu>64oO@AIE8sKh9%o^k5VPV8rQUznah%p5s z_c>1P7dMDvz&>}S7#a~nMVe1^c3)ydNT?!bj3{Ry88^Y%bAS;cuL_53kwX@e5H!ir zJ;sRgtO|-CqFf~>QW?z%y7>_N@I@ z(lS4?nFSD5?FQTb{I724xc+~2L!c4kXceJKMB&A5c(qPsVY(Yij2KI*u=uhYrWr9z zc0;BS!DKgRjR^mx8=kEd1vS+T`Fj8Xx}hs!rszdHZa8c`v}F=)#j$(MuhCnJi<-tTEdFx~q#j2NbS|I=zw4wJoq z%!pvJ_vacB{!8z7HKLg6{ghBZfZjiE3&McIVtSA$Cx8cGBW^iF8f;{V-JGWFBm8g< zV*QkYV+Qc$I{jHT6xsQoFlj1Tve6;(>?%&z$w+6xdxp^kn4sG~nbDaQ0v$Q`n|&N- zRy5gQc!aGut2+>^FcChp+JE*N5mrGx!j(eCD&HGeF|jtWx}il!A!X|+V+pWgk+Rc4(Ch_Sbnb4&C`6ZLN<9)pUHu!_HCFP5a~PcRij^{nN> z$BQsx^rv+NZw<=12VfttMdA*baZKE18k)vCNm%YM6$W9Ex+gDWnkO(&*c@7q4bcM= zK(l{R9W);>a9RR;YTgGr3Ru__Ecab%+iZwt8u-jxjgDiS4# zVG^hrg9u=dxPu+}f~YrcRgr(CNKAPd6MwFexHcm`RKQoR132qB+OtgO;F9_XO-_Gf z6A?^p-MD$>uUo+or)gst0oX(aq+(CI|WFB__BN z!0QiqGs(CO4*6S_vB{q~Bt8;aY5PSISGRWLvwatuV~IV z7&~mN)nyIYIF>8(+aU1BFRb?e76i^VVldw&PRHA{C6KQS0y`TKm?2jn=tKl#5EyL4 zSW*RJzKCHA0^ckZ#R#l|p%F2}An>3O!Q}ii-H4D^g+sQ;AqL|WgoGT!RI^F{o3-kJau8MA9EcArvKzo;h zA}icXm3iGTn$PRU7IC^ZM!JYfI*kds9h@$IJkV8e1#fD>=_*2o(QKYb0>1?d<(U$u zsBdD&Dzp`{CJ3kUS*KTZK(G=V3k)D&&Hfy)Zoh)+8e2DN98mCplT`=4l6#~{5NxIu z!F86j!iC=mKsq0H&rkm!H5mh2|4QTh$j1CP6`B9Hii~k~m6oy?h`acF;S{%T(@k|@ zYAaIjyHGJYMtxU+Xb6f;w$!u$`3XY${}6y(>;eHiD+Tz-RQ8Pqw!^;Jf9bJsk;|&e zd0{(nNh>n%sOOmuh$M&# z9_{`{j6g8+3a_kzJh*MqqrO-m%4u@6?=vF&m(f1eh+=BA=eGd_7MxELcc0)8!~s@# zX+;aQW5KXe^c@0I^!+1J^!E}wcj+wd`SOk5FSmYqAU<*^bld06uBuzZXQ5p}hws4i zH9Ed`oXHSkzk^_eYd{#m%`}|(3gJVpNdcHY5N>=69{?BsxB$#a3A?{VsDQ6x@Sjb? z-!k|}lkoIDLg!raY>y|77ZXo0DbFFAKzFkQ;TB}(yK8TQZ40||Otk~pEUKUwlS5Q{ zy-*J0Dvi%E&;x-;lkaAVR$s)trto2i3EoEdjsF4P{Usc>Gh4Q9(-yWfk1{`0O2+=A zz=m#Q#!qXo{U8#%AW**a9BkFi`I+=v&=ucVMNTd7#0OT9zZdx9I@#pTLVFVUbDm{K zW~YVgv{y;<<(_2Wf2_&*pF?r(A%YgB;*8a#>B0us{Z}%3p&x#|lI&dQj|ct$#B(es z!^B^eFu?oK3UF_5C4i}t+4WVHe!hZpd<7?OFp$^nwWwXSk0p%YiZBZ9sa9oWO|~pb z!qK_p?IJ(iRfgsS`GzK~^oTiO)|be?YQmI#K;n6Ze}=6l=5=a4(^$g%CfTWdGuc zJ*ShIzl7t^VshXYH=MAYodx2|A6bRri;Kkd%0dtVbSet@{P^DOtBH&ArtRu%60+^UlyAKD$D>7RCEjLfziPVR?wWXDPI4 z$1E_kP%>nBlzYzs>^78fFGx57N`y*ESS6_g$kJ8r`9?sgnW>=gAtxT9Bz^tL~7 zT#<@T{6M;|@WZeA0Eq|rb%iJHvW=9k(Aed&?uAZB5Mn_xgIckTJYDIFv-%LvmC^N+ zrh+2$@{|LDc*hU!`Uw$G#&@+dr0mff9@!PYT_BPbJJ%>LWVd?_>ZGlRoXB!BGpMU? zC0ka8*wtrU&Z|lu$f|PM%Brf@uQ!Zk{U~jpN3%abu1I}zuP8s$zA)fFY<;SnFjR!? ztqRNd4{7>qBjtQ(ym2vjLg;^+)?%t1-{ThWs`w{O|&1`xc6l=~Cw)7{XR{7$a zJwXo{ma+Xs$~@9Y^-D-Z8088PvaR0$Q;D-zSketKH0w!XufrRE_IT zCO@u@!j_Y{p;@daH?io8`mmOE zFa<9v;)5a9G@RR)pIVG^F6C+zDAF5VL_5|c4v(pgO6yOM~# z-q@`xk*u?zB6TvkJ!W0;$?xg1W0PNe9oL=WJYvTOzM6;_VP90Ac?XHQP#*-=VbZ;Cv zv7w3muzAc%kHR&FoQ%Y&sIJU)HwoP6j&<`$qm2o!^R|35aBs8mv!NS{^YPoUWcx-x z+;uOxxv`ZO(_+~W7@u{9_@(I&>|(e1**Y+AiFkq!kyL=mn{u(0wD*s+LJ+B0MERWZ71C{PzsN^1!EAVow-yqqf9i+mG^zJhvKGg;oP7+z_cseRo?G>gTJ-z~7u*DO{rX z%1uWw%iY+KDboGj2)4sjn=4G6R4meSy>;nK&iv-;e2+=E11KOO1J7?%s-goy+Z*Hi zomea46mUYAQgD>{fg@Y1h;RumT(J3&#g@8|w?>p@RZ+IABI~w0yJoKaM#@YkWp)QH z<*wmO$|zCFQ${UtDK(vlZLzEKa**I#DNncKQm*L8q{OG&kWIx=^6brEvlph3vf`%L zzCDTE;g;V9Y8SmDO4O%m9fTTr%s9o>UZo!uL5=`2dQ!1K#tQUFTG5%ZG7I6)VG{Au zHQcurv3Lo@DH3+$S}ZyVNSu>rhEy!s%}TyvHFp?!xuZ7rX-BH>tbw0qk}f-wY#wc4 zT4q~V`R&QZoj!PNE8=~^2_GEF$KCXyeB8Ak%Ez7mP(JQnNXe?unZph+KS0P&A8J$(TqDiX?>#K`x~}NXHL&P z0-RnhOccU==moaK&y1ib5;>6Z`vUNVW>vjkej4|FGdBRX^)S);#BXY>;1D)`=ap3K|&^Yew zuIWhbL4scm=FU#B5S(2SfJ9#xi1K-E{T2sfjyW%f#^C9um=A&qzHoFNXbfO`^1q^+ zdy@=qF55i2DrOV>GM#%lciop>?(8zrNpSo4lYZspwp4{40O(gQR<{$#oC$m2+DNsXDoQs>K9)MWTEOtR+f$YDE<(&!%!O*Q)XN zq#UE;QnpUzUT#eC>|;@K%@Q!pf{`TlSW|pR$DN!xRQ`pNyVJ|0lRE;SFPz+Otl%rp zGy}@`n zsZ7I-p2{Qw^Hd3N8Jeb)tTS$RxG7r}LquU=;9%U~D=V61&b>a5$pFqtJAM zu6v?%vguShZWaeuH@)Q30aLivoA{khP=-T3MSqTY{Y+tMZ<2F5!t!bg8+9JDmXP(Q zYvA~Ja{F{79v({6XZ)QLDZAEoVJb5~bw^gE{-{B{dn##pCQunP2T6<^eJ3<9m`X>_egqHE1Q>lgf2 z9BT_~ma$C&<8e-&fU+t&aXuRlFy-veCi~BZOT+3J=+bah9rYrf=e%)x3`snv#%;P# ziwG2ex{$Hwf}FcUT}(~Z(8$kf`lKT@UU?!NxqYr1wyMK!xY|02!XYNyobIIG`3TFq z$y_u27g2jD3WwKyE}RdIJ6^n=g5ix|ghE7EG1ozy*7<;a|D39iUbUJ1xs7 ztUYd*N$y+@CTDdW6>;$g zf{j#GkVfAX?D_Gk-LM9FGb;FHiRa+~Z0%%GTJ{;5Y2t~j`@YQwq*dVUG?g7LMJ zDUcQFw5 zx?COy=t5QpvgmqJV7~~^4|4)K{a4qw;bs#XqdQ^X3$NM}s~Ztk4ZxPbLHJTc4z~!! zYip2~ErM`K2Y3&`8=nd#i7nOmaw{&`hE}ux2*;f?q{bglaCjK;y6G=pJP%lH$s}nv z8{*NO$*h}E@)^vwUi2a-Z|dx3P6Weg&hNhQ9>3a__}^-1wyYDF+w*(w0hM>Dt^-lU zT`G>*t}SyR6ZrA8oYc7GMb6xEG1Gn~RETX^JDU??78!BE>uo+0DmY=&KV8gLbQEhO zlmArV-$FokFID1Bqdu&`*9p;W$k9I=nxP8BklQL;jU$qdw=Lz(2;j_aO$OXGiUu#d!-i;>x z?`Y4j zmdR`708>>8OwCbdt|E@3J&Peu4ynRqqYftFD6^e4t1wyVQOV@b0$@^82TTI!U%^O$ z>(wOjPc%-< z-tLvPI1h$eUN(YS{7A%88?0&%l?3DaK4Jw-=!t`>RM4jp2<=C91M0+f#tJ-eGluTr zGi6-GkTnMrsW`IL8GY$#LDi1LKZ}-^fEfx6Tal5^Qsw2WmCsv}Q_qrZ*8U)p>jafA z@qF&(lRvhC-vh9LZ}~lKOS(LF!qN3f-t(Fm*C*>BIUP^Wg}^v`cSYsAAinB2tcXEc zH6y_*>Ku_h592Jv)dF^J}aiwPn1fOE?Q z&huQ52j1rb!AK}-NT$E^#y8bu^Gh{;SdZil4?y*JD3Z#01_s8@{#6G?kw00Q>52SF z#;Z1Xr6Z3-N?yt3YQPpE63OXT@FJNb2=LuVL?w=(Lg*yna003OI>O2hMm|I$FZ0C_ zG}4JIdmV@mn3Gel&s5t1rUnrxT-9f92nfyVll5;JDK`(`rL2lT;bS~42}Yho^RFW| z4`Q)5Y4)#7>CA>rMJ)ewJRKbZd)WE^I^z|A9A^{Y$VXJcsT*Gz??3uiiIW%_3(;+G z4SO(s7i)X4>)9hg@V#*)@of|?4X6y_tBI4&Ham`34G=#8Yat;uFmm59XlogCNZ zSR~?|nLLwW9jZrS-$mh5{=m*%``7Ra`<)A2ZHz9MkFJa^pa(Vses5=T?!C+G_hvRr z`idkO%mCPg6xa+ff=R}EEBwNVVX5HtB=yT5E6`R$*8|$trVP!78J;NrXol=zb9!h6 zVw8v&&k;%84_4ShZphC+s#27w2}?}7L#}}@wDNqq=;x5 zhLAUov!KlpQsYM9)HxdV0K!G*lnYh`&gp}5Rp<1#GoQ6jJJV+fwZZ0=%stU8jO20! z5C}6P=?@qs1un2K<)9p)K`?v^*=($hq}MTuupF!wJ=73VP!^6XX+tUU&-Z-?0vO+} zV*RaulpOiDu1N6`C=>Os4Qi`)OhWj806>%Ux8X(KUhp66aVKB^;sQtv>L;1-z}^ME zs+@3-j|f=1CGL=Lmar|ehr!|AHoJojA?Yr5pC?`a`wJ>aK{w0lQ)@HiiGAfX#0+Wi z`Wm#k8S)EhW63rHkFh;I{Y6-j7}V|+^}JP1GzaE81*rt8uhp6^HAA%nbId^@ux!j? zBT~m+{RJf$!1*TbY{{e&KkiZ z?i$1di92C-tzhRIK_3D?+{%Imnu9exc2HIYO zVZREcRu%{r%PMXFKWFnPO1jp}KyxfmG`{Qhfk6o;GF zWiK#FFChaRVTl^ydez|-Ojr7cCGra!X$CSBjM2a+gmn6J344M26m#+egspM#X60LU z#Qp@Bu^SruYtwKmq`|}EXmcwRjL%8f_8YAig)HS$z^@A(Lijla-4CB(>phRRZVtbz ztJBMr%<&gu$SHWP0etX7W+i4-%Iz{aWT!N6P6K`PNrRh^+3a-y=EPF;rv&)q9O%Oc z$piC6?b&wYDPdSWnr@9kqDMglw#%9IDy&JDKq_ph$AktxNy=g!hCcvOhw?xTu1Nr2 zA-f^nV2#`Y-o?VlL`rh%q=5~M1yWGFFp%kz*%PoUfij_KJ^IWV`8iMyu`oiImeuuW zkPWJfQ)=_qL{F8|aW<$ijtZ(&vegg-yZRulK8o5aPy+5-o3>V<9cTtK?jYz~*6zS6kQKYjUz7gr~=iiDXO{oy6 z4{wW6r2XJEnDTT&+$S#5zpzFCkv4VzTBPzsQ6xuJ->^AD!K zZGlwjg1qU^i;*q7BvQn~H@8oFMrPIq_>`z zlf>qM&iB9{usJxD4PzL*;(1k^fj*Bwo-pOzc0+BXZJw6TKJ7#^+`)mYU=HNA3+?O< zbMWJTpy8nZZ|7j+{;W5{&T(P;)s_dr8eo;E?@S|WqHxP+6*{A9!;uesa*1tQr$3?N zJizO=u@_H^>}iPygca9s(N`X5w7V~`1GfunN!aNz2z#LW*iQ2fP_iXG=Y>4z8c*aV zEe63eypb1{+0jAXK!2_p?W%$FKhQL5fmjpjL_u?$}a=4@#0d!LS!r`p`@t)LZ^rJUqns(CJ#_N$>lh2%INS zM_&|Zw-4-Icn6y76NGFHtIyBoSX*&u^$|9{r2DnV&F$_Z6MWxUi+q2#7WvMy7WsCvrnCG| zp!Q{w$SOft4fbMO4?FYt!1%7&()aYHA4+L6lzTUJZL;2H%q7q}Y;H+lQB)N83+Sq3 zqZ<@q>;(D)?5BOT7tE>^xlRQZ5{GA zK)-qCAXHAP1t2H4!8d`D~sZ8fqIi63sCfT)K# zi?Zj;5-Oa<&FA!h8{3U~P7{JqH|gU$%v;#HLN(A+eSt>Ev7yISB0dKFy2g_hg} zpnEhj7_7SQdD=4=r70up!04{{;>Q?k7F0!Pro1laUqZ-f`Mu@-bs5|BtBF_2s4fKg zsp{9~0}x*9XMx!PE4F78r8xoqn|)2;`#e01JRX@*S#^|&7dz7~)nQFjc8fzz2tW?fNr@3T@Z?D zNC$x@ISmu-Kf1;LoBz~K#87<_h9KTV9| z*j#2ut-?|5`fj&O+R9jHoABYL2{_+uyeUo?`)-z#YQw7|IXxZD!sBc7c{mG?B|JQq z(1-}=2G?NPBLW3tA&5?oKz{i@-GQ$KgItnBCk=jcs>5p8Zxa98hyNYS|F+_P9COC!|2}!!pa4X*I;D~3-|l9T0OYN zFqy{JLru^eT38P?tg8bQky|w6n4Lu!)V`3d$}QEKag%+)?I|^nLs4idjg3Q%(9d*y z9B^wEP{Az@az<{!kgdwCg@$pnfzr>iy`hFU*exhbqki!y6t_>Kt>RHWzLrWa#X|>d zOr?f+v<{+L4=R(<4)*EXTj1k?o2Xj0rP0lh};mt1Gndbs!_$tsjvtKcXs zLew|-m2$-ZfQeVG3T1ha7dm`oOK!zsd!Q-wNM}Vmsx$qo6FD0eShwXk>b%u-Q3K@G zCQ=8u@ZD^FuF4m%L9C>ZFJS$}tP0k$zGBuHvKld~fvks^4TP+#n2ms}la4AIqONFL z@t}sNtsM7AC_df<^+m9+6P1QSyyGr|QqLRIH^CEv9=+LzrZs}x10-cu5baFIrlFST z7`>Q=w64o9vG3I$VFW2az;|-q=2ovGQ&PKhv^-?!AtcGM*Uw~bd7}E+0VK(l30+$Q zv)It1aJhi|C9DL+1H_#caP;)Fq)4Q$ELPvikhybtVr|EAiC&JR2DYs@cozoiqii4Cit_|9VvgzM# zkdsx0Eo+`~LII+xOcY5I+k&w^r9ZR<*cpWg!$#Oa2K#|N1sG~d<(Vi2CDG=YD5;v4 z4Qx~#6%rsKO3|M*sGkJSlJ%hJ9Z;0R2TNu*vT1k0>b&4iG~~1B+zu!N9PWV*sJe>*Is^1E z{ZBY%C=gH`wK*pjN~n29m}TbepfMehm*?v>z(;=;K86kqVNUR40-q4}fg>@f-_qQU zXo$NRu*#K3mOMHG@)f*CIkJNHI5#3quQ(n?%{syI_x?>K+JkTd4k&~ z_TbSYjP~nVC9C7OIZp%xGa23J&zGpKjb8{LtQXES)@hV}z+ z2310LyTE7poxwZ}>K4?k2XaNjXmk(cugc`~kKsBcqYp-OKo8{YxgVZ6gIfUp%wP&w z8SCq{jKN>@NDs6WCDT4VVg9|loG$E%;;mb(1)t*zs(7@TKIn-i#ot*XYE=v0BFj}8 z)Gh`H78EC-6kH;6eL^`K<|l+qkWR1IZbXNl5rB7>40Lrb6cUTkqEUTOC-9oH`@$7MIX&1HMcQ6~%Y$WRx`Gl1Kx|K?{ZL!fuNZdc z3Z<47XBiLKyEF9ffk>w+J_By({0lbT1)W~8geL!h3Xql_`vF#YA5PPafmbT!uD$?KZ#$G62IgD3bX)KonxHzvS0=&l>I!DJsDrmFO)3=V5w{{6k3`| zN=jt|Ajc#Ffg3npz) zf4Tw|7q=a-B)L{1q7NV%)PDeA7psfUPDf~X5%RMh%V^=~rcf47yA*+sPN5TukgxLf z9M;fq1}&A{pF_77p&GEcAOI}1IT#)Irpuf%#|3mB4keuHJY%65_|3D-cdn-~)6o)i zmR_5VnzhL%tVfRPWd)EaM6fU{I2;3duJSu01#ufT0FwS%4*W2JVj1Lxea(2sSulRH zS;46csIJK42PR!n++;dt28y!u5ubdo(%mzVhi?eulH&zDd>BbBk%tm?K_idBPY7T* z+oB(4pazl0p?8pS!a`7escbuYfLziPzy6Q~S1|;PbsAW)@atK2g7XX>b7}TWl;PF` z^a<>fArWSRM*=-`6^mNX8#BQ*LIpF?c~qO8o(0=G?)3RA)DG>Wsk4!%)iUTGSR0-+ zNa&E+C@8QHp5ZG#PSi)ZgaV8F(6MYcTAKhmd|u?RTBpte6-{BkamW3-EYpr~e@ zd^p+8Nn&4!bbnSLHNbDJ6v<)-v!MbD3tj9{_#KOnTbb%*t=SoP;p83SAZbi{%}2At zqVjkEY79;{07|Zf;03o2A%2ATbS|8jLhNb`J!eq=pOAmr#c8aMVSIR&%8o*wJsH$n zPO?{&-{d3}EMtM{r?S`r!>3%kQrU`1l*xcncB8=XF}GSGoDG?k$_nZHpHLFYqBnm+ zF{n3nT!6w*9h$rVH3bhlX8}rdYJ7tAqH;nvsD`fs^k)oe*AvB0762iBRY+?tL^W*s zLX%St+=1Wc@Mu*0<3e-@6pnohvA*tE$oo)yo7*W|D&?9qyL?DO6 zkXsFg1v|oH;>rZi_0V61al<%Nj&^cc9>IZHSqRL9x&F|Q5ZYof%5eyV`9_lKu#-*b z0{dGkbE4N5gEbDNPD{`klA zp_*tbh43R!*`zzOz29|($<9f7^#BU!eu=yO0pG{^Ir10?AIR535bGY`j>SBws3j_M zF{t~Luv2ce%Xsjx5Cg%)otLCcI+s+aHmALpqs7?&0JT_w)}rBb+X@)co#~YoNQc!W z)O#hGi^kC6m2lb=x}UyViPj-XSN@8&p!>AlDl`#r|6GN}H$Ksubs&73g-t9OxDM^5DCZpYb1<&1-AN`=AZ8L=vuT8 z9i=_jA+OK~;F{|oEPcbK{*J5>>_adx9CW%^nKh&IOso*pta$S}v=w{g!4N9A?WH^L zPNpkz7^^#Q*DOWqaFl&8u9q2Y{ zM_=tgJ@JROw8Kt#OK)HCjGf2|p@ww9F4P0RX*X{-959?N_S%gOnc?30wLecAOmGqbVb=fOnvdr%*Q-;KNTL ztxf$Oz-ws077G>5boD8eVE1w$3_qEK%|)_itpQw6qA8T6 z(cIHW=PqUF;9V1AOGiyAQzhx+o`bh%Lj=~V*G{7#)PhRSpgh!-jyi+tI>*mref5m( zmE@$brF0Sx!6wtwXHX}Lx&2uH=QfW6=qs|7o&dH*aeJD7j&0zp7e{0pS^(Uj*3M!L@TdjYFk9Ht zzb>N5wr$ec2FW3~o0C-Nkw`~fLdi`J0RxDG>KfELX99`%s{=NrvR|PbI7!N44eB$~ zxxda;mda*AF>~LKKEfZpY$7}syoGu3K0F%KL#gsI%0j=II4#V} zW!EfT!66GrkC)**D|7};yn+I-*$mq63es9! z2f>Qsrd+4Q|5Jg`3h{yxzL2GXsNt^9hh+yeW`F2g~{u(2U$e1$2H`Rkd)TF zj=WPJRc9t}Sknc5Jc>m>FjplQ)RF9?AK+;t3~CKzlk`_pB5%Ov?9|VB2}1#rm)_j#t_ArPFja$w4C-0*;tkk}=|RySsFumXrkJ_u!gqRVfir2JOC_GEopA?kt7aJiGMs~;Ap({#dRcimZFLvbto0l`XyuUswEFAkM_<4To&*}y@db4LJ(v}Kq8IO>WOw@_ zHgHyq1#Npt{$HQMn$yW%pAj=7I=onQ!5bL*GN*3&1CP&^t;Lms1Kw1*CQ zj8;0UM{+84nm#=%NnZk=@=Rn7ZaWPxL!D7GI=u|dM7GrH337KB?#lzv$J<%ESyUHW zt21r(1gTL*anC0Zfcy0g0AI|W$Uck~}Hy!*ER_$Hs$(OL9su@hpU%|MzM;p8XMK7o0UZHiW(m|{T44|-> zTyQmcH10JlM+VaD*QlS%L$FR|!D43o>}>Lb?tlS)cdAxda`DU8NQGdnX!b7}4vuNe zzp$b?MOAN6kmIt3NK&VrLleEt+Z278LZX~=i1k>rx3J$yXur4Uu)~`HtXq@dhd`&X z*gFG;*3Y!TI}`}JS^eLkP&nQA=^YBefdlA~cW6zUq<(C+c>5@pUzv?IK85n9K;x4a ze{wZGRbw#}d_PI|$OCdJJBQW(M&wA9}WG8+`JQD*439nc^24b zV#wjx-<9Lx<41-^0RVt4|Gsq22Sm{UTKyyPbJEwZM9N}FVo;Dy`+P)8uzO!>^$7(< zua0N?BxzcRZEOy(hGr&(fEsOJdo4!`%KoVjw{B}`M{QD4Y+3%EGFyW>jrRQneHhxC z7D5VJ!>d^G4=w!!YxJA*%F#||c^vB&_{QLu-C{$}m7{;r4SLLg@)Y@S{4^v)*Zlyj zkY~(oid#FjbFAV^;rJEyGxajFxjV5>(w({x2(3E~2FSh2aoE<+4J^vAfY_6QST)=Pe3pp=IWJ^*Ja7EF~~tOJFV$I1ftR>f9!_y_EL_~|D@O80lk`Z>FEoTQR6J21OV zpUdhw(VrafOPf3fvq;oW*qz`+=c{o$@6>-7;Q=5ls3ffYxeN&H9I=ml8YsWeV?2#@ z1S{_j4`BQe9S*^$hCA7C=Lt4i+HoL?ri%fmwGwaun$Wj|Eym9Cb!BA(<@sc2c&u$ueG(WWAqrdUV%wLZb*w zUR)wSiaKXNU~b-+aRpfBW-rMQ^3a~Y`(`C8HM)0gXF285Xm#1>-VYPt^7*E3e>*g{ zG_yA20g0^bx)`uXJcU)o1XFG^!LC8W-X(?^7eLMv{>4s8t{!pBP#fJBX4W2?Yl11A z3n@;!=}Pfgl#s_C;+ zlQvIWoboAl>YkZH3+Gbl926?u4oIaBWxJLB9T4pLtzqwf7-oD5rP5A*o<8;@`B$X8 zmf-KcN}2C(>mqqp*gW?`TC&IlQ*JXHSZ0_}>a57q=XXqO$iqE!_q@L_=8shIHBNpH z-7mC&Xx^MeI4)X-!qpgW9<(Io5@-g*;&D^adGozE!;i8!WfFh)g*YDUh#>VyN$rk{ z#pC)*>L{uExv6s{^;A;xje!`(C5gf3QO^54^yJQ~2<=bf`QW7}6PKQLXz8DvC%foV zow+@A@c3Q40(mp#L;kAIt|srB5@t;}kH1yJFFaXWlCd4rl9bK-owy`roztzCzQr@b zS=LMU@Bd0Cik&;;FR7CH&rufgEgbihYh%*j9oxc`70xHU^sC&I|Cz5&^}&PAH@)?g zvsQD9oA4f`Wu?&4l%+(qT=p+bxxG#JiZQdRXm@0XpVMNyRwX`EIE0+3uQsZtl--adT&#-q0%d_}Uxz#TZYm{DqPWdr5iP^o52=F-l%iZ*wyf)!r8@cN;ZuWemd(Y#>sf;&)8MmVF zzUTM39UDIFfGT$$_YBbkj(=~oTmxm^`3Qq&;kcnBCyJYc%scNPxVU!~ zafiB2aXufS^V7SIah>dOx)0?P-01vasP5~z&pB_XzMqT7eM9w8p7l< zEA1s6d0O=vk1>8Z!7X}%G5*l7qqm%^dylMLFkJ8SWM9UmMds4GsIu`f#koA6+6;H@ z&es$5zF(Yo^Yvw(+ns{r^`dsNd6{2eUZTI3#STn-Lqx18nLSi!-6UjO-bzDn!*oFrb7 zG3I?O|EXb=I&6Q5$ zhwiYwZ+x&UG@)Ocu3DZhJ827nKxD+-{G~R-QwFH>Uzj|VJz2(sm{k^b-Cv{$3ISY zOS+L4iNQkMy*4~f=XpZ%^32@X4xYT^6>&L{`G6VkQx54QykR0H0nSa?pcaZU>X2PNUtR8xSFfQ-L zrFluSg|pnvgeE$Q7aT!^} zm3>sSI2ThF=Y8Hqb^HAjOq;~CWZYhKZq$~H`@}g|r03?&B790+I({1R7vi7G!&@j} zva|SfJ;{^e#7<{2Bkk#Wk!M@&ooDDvJVPhFj=#h6a&!w7M^!_Wk=!Pnq0GHS~5G&(huzEXj~ZOY$3tURh4WP0b}z zBA1ba8!q1Y8>_QX{S6QPQxQ?Zc8{d`_?dDreZT;6I~K2Ley z&M@Uow3&8umET-m^ik(MKjrOt!)f$W;J_KCfP3CC1@xQY+%i=kr+;|c*)Ua))9oL1 zzMZNko;#UwxNpAO*pwpCuQmEa(PtUmCptUl5X+6X^LfOff$zD0WA5K+e3Wu%;K45P z_j~tmlXK@ZJwcZ}b=2((4+9{i^|JY-{$-))F+;a|f{g9A#{i3sfx*nVD zy5ymF@#%~IDB0%L7M`m+c)Ir$FH18Pya5)c%m@1>@!3Z0lO2-&;R%g8AhV591^+g@ z;9rJCmZL2DS$45Zwfy%_CVk!ahEdD+EI+mU#`2(L)<50!A>}oS8euuf@&e1tEazEP zSXNrTX!)MyHy(x5fmW_ge0!C*Btgx)K++?}gGG@8k@>@%7cV#EbT+0ELlPqUiUJs>wwZIx4 zwtU($YWbdJ+_K3s=SS1xA(j&@FS0DRTx9vUWu0a0N9~r+&(0V}KUr!!sB$caTly@g zS(aGdXnB|Aa?58eqn0ttxFxU2rTt1p>}ZZ!K5JQFxxmt-R;tN{|6$qb-`d&#oj!Nj zQ=Z(e;VXCpOUm#H!{9-9f8Wj-0sc*`L$;Jv0Z znpT_Cu`K20su*M3^-Ecn$6dI(_i63s8weC}kNV-9ZxigDB;9k)w2SnNob}JOq|d;<^*QIoi}YJx)nLIgfJ7-+1 zpYE6Ze2ZP`(UGth$|m*5uarielvCIyo$q<)%7DJ@(m8GHWo`0HJH*fGHtG0z^;YFH zr>jp$C+&|vUwg(SdXy)W`$FrAdI@_;Ae$6WU1|1eet)}H?cNPPYr?TDt?dfK9m#qYwJAKe|0E#fHP%|?ovDCDz4*lw!PYtBoDV)QIq7pt94iB zr8)Yyehtx<6w=5>!d@twG}2q;9yR>}AGY2fy}Yr86c&EOP$+O zlR7)`YjpUG)d}%Z-g?4bC|h%<3U{_ix4TWc<+fh_Pg>V2eRJ!2Wo>qTxmFL)nV4Xg z1NDy0&WS-ri+4-w^nHEg*OtAMQ`*i*aw zb$8CZ^x7+~nN@cEB{vVBT|QeW|Ml0F%$-#>WA^noTygC+&NVmdGy2{8ZtJohB<#hP zY*JR~T4&x(bmf57O^UY3w(VVK$UHq`+)r)n2iv%lo|KP{3*KufR?gRR2rqZ{aBXa! z&iC|t`EM-=WJqo$?1i#Pz2a+S=pENLzjeJD+hl9{n{)jwdQ?t9ti>HS6KZM4^%bdBqmc1-O#>QiMD%JCZoUAz^pX%9vdM&dom1X0DCVhitz2!E`<1aJub$>EkZW*==So#b@Drz&H4gmRgor1}tY<7F$lY^jl80EV7(v zxhZHGs&v1X>~+z zGcIG5I_0DUk4^u@qhvXfN7qeWS|icEs+LL?SGBY;h<>C>N}eORbp7O|<$97-U4qM4 zg3E^g;!^S)$))Ruy+U+;bxSRa;H>O$#W!^ zt{?Ue(cY(8YFYSHOD+BAN2;adIg(4)PhMIB(aRHD)+D&x_Fr5|o+G(*{jhs;8*N$#W!^uAjWLa-!9`mafcQ z*HX)T^dr?$@*K&f>nATwCIt83&r7Q(<#OX)=7AGx61+zfbQxiiws}iD$ld&TY0Hz7 zRQh_;o2%%}^)2-*L}ylM&U~1Xv-*U$42Kx@(kJL=ArnKRORcY)RTy7bIVAyIlr%C z4M<{KxVut)cnD*BaHj03)HBFr9{x!^M1KJ(lyIkH)#be$mw#|n{U{?+_=j~@J)Ho34*)c5;-E*_+L-h_j-8L~4C9S$zs|A?dv$S)P|cGC!8gBTNPdApSzC21OjoCqUvbcL{&kCPUf3S3z+&=3e9QS||=zL8;)!P#ktx zYASd#6n{5B@mB?9+XcnnFHrpT=Oe3jvj4}Rh~Y}u9xkxq9k2u8Z*2Iq`+0dm_+lvO zmp)+j>uXS+!pvA^?Ds->0a6X+IqeHJyvxRqf6z4KMwm+ZYAuSiWDk^<45+g z|KVq7zZ4k3AQgyO#x2#e#_qNBSq5PI2~)_i5#!ts#rYLboG*aldj%BV@2oMqr+=jh zUkB5q|KGBPtSZx8gP~;5)yBanC=RcLQo!R-TC)Snb^yA)@s!Co6}H2Eg$+AU2KGi9 zzUXN)upflOrJ%Pqnt~2NDQIMkDd=)21+9Rx{iVivf(ifflGzyVvx6j>ts2VqhmTBnDwM4~X(YbwRm$L-Of}=g z2W^^%pls`!^CUFOe-n!-#F4L_6o}|v(b)#suxVH4!|kfEh2(!iMQs|#=J~~j^M-K$ zR4`O^@C;VTL30VzNWKwtw3Jb^$CMG9 zw%zY5H{I`zD^){9CC!IWw*5AoII5~iACg4jxKchu^Z=CYvbZh89ab&fpMJ9`B=&_; z5u0W>x@?a?@zJ(o2Wpu8rKwb3D3uxmrBY`?snl#JmHO^$GdJWmnDC8I&RSt3)FO*9A zECZHd%ZOzZ@-E&j_a-RY{ZM>WLuqgw6kkvNWX~ht{A3KH{$+Y<1(XDzLFvIk|2E<4 zq4ewu8@~TPW(>RxCH)R41*F=_pJ*F%4Rm{`&7Glde#rEY{};NInoFV-blG}BH&eoH zsHUgHRzqCS##h+%4>zZ8d(huv@~DGMZ#K!OhT`v&oTg6+u&B> zVkq0qP%5zuN+mWxsl+Q#D)BLtO6-SHiIm^WZo7b7>4X)3uYwtHyA9{^5rG`Cr$C8c3gr-e!G^a(sgUAvqExUT znRka$<5CRLf=8jWC z{C_Cli?Hpt;lv7h?Ew)cy$_M}0VvyLHr%#;;gIg>CXDgDR>US6F5hmkJ<`c(zs+9# zH{pD9doz|Ie1I!k6gHAp3L2kjdVMdS8Of%J6Z;UG_6!?t+sJs>_9~wM$8DMvblG}B zT!aqg4Np_ON(OLg)1RZvd-y0zzg;Uif~BCqQ6^IuiWY$~9HN$SOXW3oucgm2U>UZI zSVp}ed$?MI>T4ZX`YZ#MVao^%nid>-&bDX^l*)YorE(|nMYe>mhq6^dY0T?T;zxET zo^ztQ97VPjP!hZdB|#Qn70ci+hZ3%Wa!|Z#!|AM)l%wSjP~zu6If{1La1x){%F)&n zN_+{F!~A|5{se~PFi+;gVM#C&G7Qw2HvAxz!x$z*~m6*k+Z@7sMK+(cbdLja4*G8f2(zvBMj#L9o`IDe*0VrA!O5QM( zyh#I1_yj2NR}FMW6W8t-r0~B&NqE{IlW;zigd3r3UqVTzk2dL+Kq=r=C@Fq~vK>9x zRtSo}H;*yteua|axFIIptRWmt;_yxkk}z|qNjL#YlAEAx>!7527fL$$O?l~shoKDU zr)~H*Cv0y@KzO zQFw=)xbiuD*fg~^Pmg@(%6IJrT9|Y@@FPA0e=t77P_&3;6bA7lX=a%9);_az=D&>=P5@2<;oTHBoxlo0YC*=_;dyZko=k(1iGQUDJtcuez3yhSxk@r)5W*ciZ#D9(CLK_(B#S zPVfWWHPd~Ena(@RG?h7`L(sYR1DzXc&eG{(ULzv`M7HeC$*MCcJCDc=N*bD^e3y9C zHAozhZ6SP7^h-_Hv^iOY3G=CQtC5gs%a+^pX z?YGLXPFEEP@t%=sYUEcb&T${=WBWB%;=;N7@Bk9I(NMzK=&>7}+dgF0YcBkUn>^~0 zo6Rvf8@6-zCHs*E%D!w)S4Z6Nc_y7uD(Q#wkUKu2l7vNXLP{kpBXWAD*0zqRs^iX% zjQ)%XD!HI*D+ivO6qU2rojIcE0n_ubTlmVGL#R$1${|v+LABVNi$2mbMm1OP)Vui| zIz;+d*e;oKO+qiv#dfoezxi(Gn~(H}!=3Q!5@xo0*<*-o(wN9n8hIaw+{ew0Y2V6b zUgURF8Pm**e90646PG;|9(7BcJlV-AyDXKF(yq0gbm9B?A-4ND%Xh4AZrF3pM%R`% zAdRW?d6iSJiC4)rssl5jdk4ZAKEc2)n9^@E9WRuENJj74?Jk0OQNEw+j ze9~3=)~p137uI&RU~W$z_k>5C ziUglVV8{f*tLE4hf`REfpJe0q|qbi?f zGO&JHg}W!K?mI73=>;=YqCKyFy2|$aQMGSOkEceHgGmAHmrmZsv?(2v^@>N0L%wx= zVk}Evu^bakRB-8yi=49K8S2&iw%S zo0-mThX|}dlo(_-**eTkaM3!x_akeTYhQp4T^p zo;y}$^87yC9+>&K_4H`3dN6!?lyp)(xDM)3&{6expj*@<^Ebo6Y1pMZIx|1hxz10! zwD<7rbNpNELd3h>qkeuzrdDq5%D7)E;T~=}_jLv7Dn?w=yENuA>YmMzz@CD=IbExG znIOoYLjFX%JMO3HsHaay)u*h3vuw9MCKP<%qxK?;#IanwZ>8Yr?Nuv#MzYGlp3=si zuy#phUf&@o!zlIv7m7PMdAXNB45R6(t!?h{a@dybCiI+~tWKsiJYf$yx4f@&2W7k0 zAY6NJuICKiSx*3x=**}x$5gr>7QNnBhqD;^WJB=Uruw}GoN|X zq&?*M+|hgVAb+#{s5qxJBw#5`s6gNHg-3n0r+J((X(re_SsY>o*(&P+u5x4P!L&fC z-wE$wkII2rhzHlp*BlQ>nOwAD6a6)0x`f@4mfhOcEnRhE=;ttN$u(*6bV^O|;gJ!$ zBRSvGNvlpH+UI-Bs=R!UJ;iW(fHtY=lT=&yV?bF}|%}v(_IAx`7cv`gi#32ojr#KgVuDkVV_8(5{5T0}OtqL(_qe6CMCT!&ASc!`2!(IIXc_uQ5)uNH%5bhYD9ILs2`>>*@M9XVPRbk=IS1b8sVb6a zBb|4sR$~zNc8Rd)(~xSpyL9uU{ZAXKOl`i9o6+3`Tq~J-j*i@Obl{$Ydyi=?_Z(8K z3B$Bngv1fq+QUjD>)7T>vkSSMm1V3!Y>y!YU)fz~ZgX4N`L7^rzmx|X!&$v>oK^wS zy1VUx)Od1?`M>2L3uMcMAy=q!fHn8{VK7WXX-r~jING%xs(_-N-ovRoj0w)q;;d$LwTkmY}; zz0^hYvygHL%Pd-!-P$H|^VW{4V@VdrU?z7Nom7htC-v{FQVmbg>P;l@5An%4_A8!E z?WBJ>cPq}_ijmqn4G(%quP16%X9riAhd?!Fn2wJ@FCq_&##`H2 z&_l;9wPEvwterc<%HoY`>mzU`s~s9`<}PO%ho?dJ>681$ttC^;W@;opY}2f^c|LB= zlTgtnn?5qx_>ICWM0}61wsDiknws8f4Q*>$xY}g!pT$tInUm3FJK-#6{MUL!Qq$Mk z`R6L#Eww?b!Uh(`^S_PLlTw}aU+caj+((Y)8K30IMdWc<+pXqmV+%KE=i-R&dggND ztZh0aUk=D7tq_Vs@52A-FmSr5WE_VZ)04Wj-^cGqAZ`V_UMOq)WovfhLzhl%yUAAt zvL&XI9oBYhE-tu_`Zwq{#f_0K0c1;bBi)&}NgD!mck$6l%18PpY8(DWz7#m7|EOn zEEoLyn|JEPr$X$+Z;)fC85X)&z`sj9-o9}BeFKE)o zwY&0g@I?u>#1ic3Wc;i*4K7%MYg|+|#-GXWdyM7r2r04@bWEvmVr5-Fi6u z4e_p%U$FacKWsna7h|9Iiyk#3Xur>oTUNITH`^)i#9#S(CVr=Lfnn{uU-gZi_6Z4o zImmOPtfl6Aed#ON7A-Xe%R6A%ifve40n0YnhUFEoY!&yK^jRjTifuUCh6mfQys>pR z8}4jEAr)I<9LO0?w&gaQXM!qd!#!-c(1v^3u(IJ^He7#?@z=+O>umTa8}{3<*A0g_ zwOT`8o4~u+IOu1?;YB7~Zo{QEe6tM~+weRaF0x_P&$yeg-5Lx+^8zfnQ3vzi-d~7sZi}8=Zs6Nxf41Ic~PjXJkEM>K%F9 z&>Jy~W!Ya~5dTy{M79bW_N5woo&6nz>icTvr6kQr3i*#R4*q|!xq>;58o$AnhI1@S zElUh}-DV9lEsHJvmPM96%X~||Fn3$p#WLM8*-}{^eA1+Avi!-i(IrFWTWe^r{K_(J zx!bbdGG-aI++?}lvbliOHvFjNgO-ad!$QheL2C$D7F$lYEV9hE^jh+NGY{`)+1Jfu zV7LSlHlGY0!X<pnH-JXoJTT~?n<1{hGZqV6ZtgDd2rx&XPKS)vt`N@6VA3Q6?^R^GxVdL5Cz?V zG=9Y?1a3m)y)ZxOrrI%~i9H`qMda>10AE3xHfR-v^2N-6r0pmMkpVs%EzjSAF9d+t3M)s?7~jnl=7hq z3y^&D#1B;EL)G@(X&iQ;7pXvpA$2u@2m#^sHX`wBRrzYQ3i*~a!YHyEUAT-HdJd1j zBk)0H=VH-e^OvoOU$x5DtxK7)y}Wc5p52=U*Mw+2ii618=m`8X)A&r$;XXumK_eXI zr7-OIun4K&!c71ywR#ZVYxN4a-s&}QyVYaxTdOz1j-kHBQ5GC#b$J|D%Bdii-_i@h zdl4zD0k|&MIzK0;#t!87>z-lPzEuVX4)F@Uv5R_Wmrlw(wU({HXD)=0HUE!ZG97{}S*K zD7Fy+SZ?(&JpXJ4;B$<8I3JPpVYtHT5m;ySD12)st=>cf;C@8XH^L5oG2fjtI)Mar=Y>t<6Jy6|nJ5IqK8xr`n{kHU$Un*r;G z_m!F>q5^J4+&KUqyn-W+^zun_s3(7K2+X$;VYtHT5%`kTqi~niT~?37CabF_mQTfGLp6S9FAOxj82D3221V9{|TACryxkh$SCW=U9#h+V!KJL6;K zbnNmKSt%lR`4a47qyoEq8P;U&^1;_gWUKgr#fYR2$yZ&&KH+d7Lca1k6Ojn{@M`rQ zDzcfLfbSq;kHP&`Z-gB_H})(z)av>0Oso50snvsUiPbA$_2+i}uOZMq&Y6n>ys!|F z!hG-s#D^Y+%dI^Ew|~L4sZH#?4>S4IT>JeCH^{CM5aoA*a)yNTnxbwdk zrBDJC=7Ysn55RJ(hv5pVM_`@Rqe834Vdo!+d!0(dLd5k6J09SN`moEVJwp+(%V#&C z=bM!3^#)x5cOeoHhre1~{Y+0FV)w!^R`2EUV;5KWQ&tMMz%2^J(d=}FaaVrFGN?}12cKPCE1tNC&>g6S? z%a<>^tS(=_{AzWT>QOyYxx;WB5g3Dr?t>RvJpkuhJq(vyJp${j9u-VXhSxedr8sIQTkZ!wZ#db-IhAAU?gDzN)uskO_u9gnv2s3>;%*5f5a z3X8%@9%cQ6T^?z5&!8f2v-@Bn;x-cAfP^L!5k^^VBjkIG?VVWjg>Vl!OA$#UUnERDivI$IJpkt;Vh%CYe?)G1mjT-kpNQ)dPUh+2dhC99Rfs?y`CuHd$RA$H+&-Pe_)YpM$Lb8%|-l zjgaN#lUW9|8@nG~g}4=k=l+4!pE1(I`H0xVaD~+)u+HjHq1EH?G@hw$C$Art@_X3E zDS@4c+-mtw@Tkua^*%iT_ZIST2YMsiF`89s=!*ATe?oTdWrPb6dH*f!H-<$i=)!S` z4_$Z;l8+vM3lO=>t{D^JFd-lXtFinGNksG@95;^L5vM}%O+;2f#$fOyvu;m#;>oOt z!D-@pa#>eC+D8G{g=Zry0#bfBTkI4Zgm;P_B2a;{4w38g8u*UYW3b0~x{}QDZnFxB zQ@I*Abpnfqum|8K!)1v0kH9ai-UvhIPckhIz)7dk z)vOPfU+ei0kz4D;#p<$X-H#MV8h9=;06lR{x-44nbUH^1cHtnT2t6OBoyqRNXTqBG zkh^$&$P|_alSp_M5=2j2ur3SNFF~rY3+EvZqK9FD-=nsoC$2Sj7p+e<>(phv`W@5h zA<_u%MRubLtERL6w-cx#(Dhu?Me@G>ZbbG|;-Yj}oPP8STJwQ+c`|wddg5AhS(ASJ zd5j6{E{i>?1U(ENIiE_S%Ubi75jkq2A(Y<`8Od1}vVV~%iG**>#Eu?=kv|%{@JmE0 z*9d1`%>E{gtVX{XaSuh97BIUt3$C_$4gBO1=8~QGhd(1B$so(p^AOR!@H#{WOX5;= zS*GqsW|CRxAVugAcxs6`I{a`e62vYm)b}Cc(>L3rW+Cp#hs&%Una%Nk>}9sFD`+v| z-lf71Sh8LrHHAMRZbh$RDn-OmKD-Q(^g*cRFz6UuLRsQ2dg4-dS@PcfYK|Iw3i~0^ zogr$6G9QuSJ`A5i#3?^3tbVq3bq&WcA_e>5-fO88j$}=Ia?n&x*29msx(|Mfh#!8g zSpDHTCZ7)}3!aBaW85|GAp)`}UKYnkZ(wy9x^O4rM~}lR%S>y6aK(*`1?;j8ehVUw zV(`417+lx`@a~%#;pi1`;ye!NkEk?kUfZ6yu013R+@HFIDU(FPmyn6*!Z(ou^p-X1 z+Fif?_3aEQ?843qDHvT=3Y>ySi~aDbJLzidvZ`j#-F$6;o)6DKl0T-R@Q%CL{{skA z5Lk~$_twB)7EuZ8{HH!O6`3p<;O&T{serE_?rwqyt?s>tNeP)Q>ETm|Oxrc^cdM%< z%&>^;?%0wLqx4?7oeZ*CK69z*(tPM3Qb4Pf^Y`KKPh579UiblWFM8rid08?41`@+A zdI$m$o>w)dmb{= zbK&*UM!aIy%xA5L9CMa2)i8FBr|ygb*L{dPdg1IR(8(Nx zixGG9!tJXWXxI~1xhJlQm(}qXBLhCsF7qmxe9(o*AjzL_{hzoLK5-emEPa0r36nwC zxr&JeUFbyu=)x}%IZ?H&a@Xz>_@z&=s+=^!kC8g`mKE&Uu5b@gJC>TuQuih#3tgDK zjtK=_Scx={xdx6|&%ng)gMBxc-b!5FF3aI(yiBD@BP>UP=)#V#kRCm8iTk(^#`}#xx(ELRsEK#I|Y|3Qk-h3z-9 z{|gC-(i8Eb3x^>c(S?(cgH$4M#dzXUbXi&6yy9HgfP70{;ZMkJbYY(@j2Cp_>B!6I z{w*B;sjr)l*Sv7^8|DHb4*hSM?iKDqWFN<2aGTMEp0_A~E1WFYXFC%LX=K^?iHOXG zKDZf?b3x+Laanp^f*jl((ynsUdpIJI@C4*#bRYajzgpd0THd_2T)5^#3MPZ_J)|047)O?)H^OxvF;}41 zz)2sQ*85=t;$E)Rd(^*>pGc!Vq4J0vu3lJzxEHtZWkhDiP$Np0Pnl#`9Ug~0cX6gd zmsRJdAd=Y+e?a`$)oywSaUH>*_t0Xoe@<>{~PrDa42|Bgh_8{wKS?Hmrber5C+Jm&94&xeb?=I|A#uz8Vs;sSM9sNSoA zu|olND?Wx4w?h>Vqd_%pH-yJ98jmx$a&wJd2jOWwz{ zBmN8Ke^E|H8c7s@d)sR@;0q!g579uT(L0OyLgk6}2xQ7s&jYv-f;qz9H z!jvAy-m+%htY^QV7i%N;Y9)LD$wg0Gp58CiTdNhwOd^CaWFoq7ejn3yVR-yeEMH_& zN?g1CsaLC!eHjC!kHF@2>%tIHgI#z(5|K1;_5gMbdJwiBNW8Qr3*}|xDe30{pzPw?+6RQ4IB=VZ0`I^d_lJzytU^=Ua-J<}mKqg|B72kE%E~~!ltu8B$&pwMv zlSUSFv%=VR^9JXEQAy+5UEqeeHgrB4m9)>3U;E|>NoRUI`A+B2oPPq2J~3%RC`gZyu6j+) znz}X7HQUz2*3_>luL@T!s;a13UKOdTu8LLHSI4UxsvE1Ds?}4=*GAS>udP{Iw>G+V z+uGQ=`gQSj4eJ`$HLX+YgB!{>gf}eOP_be8hRBAZjsA_r8v`3lHwHJBZ={g0R+B;9 zlhG%)JsEql{>k{0p@t{b>h#rFt8-U-R}WsDzj|FBSiL7bel=zy4HH~YU)~L$# z%B;%VN^fPW5<-WI2v;tutZ)meuB@r7tBh7|tBh6FSH>$FDjO@CDpgf_RaRAQmA7he zRen`rm9MI(%3oDn6{sq$3Rbo5v6`y7s%X`=s^%&;RyDcR&Z^F>_ErzB&aW=4_Ei^E z`>XpGSE~p|0xcQ5Dt}esD&MN2RsL1Qs{*S^S7Bsn=yJz1Ht7$!v6b~Jn^xwos#v{z z^|saZs~c7~txjK)yT+L`Hfg~4;MyR2Aa{M?`r`HF>+9CX*4M9(uWwl2xL$2Y-;lK- zcZ15}-%Q{z7%7j0Ba0#xk>!y{q&iX)sf$D-+agY6Y|@Mog)99li&q9#maYu0EMFO3 pxoBm@%H=DoS4LOHR!Xa-RgG1-w)Vx