From e0d1c72b0ba4d90063fc69cf98361fa9b070deca Mon Sep 17 00:00:00 2001 From: Xenhat Date: Sun, 24 Jun 2018 23:05:26 -0400 Subject: [PATCH] trunk (#20) * Fix stdafx include * Fix basic handling of "Games" folder on Windows10 RS4 (#10) This does the following: - Sets the default state to hidden - Skips the Games folder when searching This does not: - Hide the dead menu entry. I do not currently know how to actively change the user preference setting to forcefully hide it. * Add basic Visual Studio gitignore * Add specific entries to gitignore * Do not set default menu to Win7 on RS4 (#10) * Rename "PC Settings" to "Settings" (#12) * Create distinction between modern and legacy settings in search results * Add more build artifacts to gitignore * Add default paths for toolset and build all languages * Fix several memsize, memtype and nullpointer issues * create trunk branch containing all changes * set fallback and next version to 4.3.2, set resource fallback value to allow loading in IDE * add generated en-US.dll to gitignore * Don't echo script contents, add disabled "git clean -dfx" to build fresh * fix gitignore to not destroy en-US language project --- .gitignore | 10 +++- .../ClassicShellLib/ClassicShellLib.rc | 2 +- .../ClassicShellSetup/__MakeFinal.bat | 20 ++++++- .../ClassicStartMenu/ClassicStartMenu.rc | 9 ++++ .../ClassicStartButton.cpp | 8 +-- .../ClassicStartMenuDLL.cpp | 49 +++++++++--------- .../ClassicStartMenuDLL/ClassicStartMenuDLL.h | 4 +- .../ClassicStartMenuDLL.rc | 8 +-- .../ClassicStartMenuDLL/ItemManager.cpp | 2 +- .../ClassicStartMenuDLL/MenuCommands.cpp | 16 +++--- .../ClassicStartMenuDLL/MenuContainer.cpp | 4 +- .../ClassicStartMenuDLL/SearchManager.cpp | 2 +- .../ClassicStartMenu/StartMenuL10N.ini | 4 +- .../Localization/English/en-US.dll | Bin 115712 -> 0 bytes ClassicShellSrc/Version.props | 4 +- ClassicShellSrc/en-US.dll | Bin 115712 -> 0 bytes 16 files changed, 89 insertions(+), 53 deletions(-) delete mode 100644 ClassicShellSrc/Localization/English/en-US.dll delete mode 100644 ClassicShellSrc/en-US.dll diff --git a/.gitignore b/.gitignore index bfc82c8..75b2d85 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,7 @@ artifacts/ StyleCopReport.xml # Files built by Visual Studio +*.dll *_i.c *_p.c *_i.h @@ -336,4 +337,11 @@ ASALocalRun/ *.PVS-Studio.* # Classic-Shell specific ignores -Skins/ \ No newline at end of file +Skins/ +Setup/ +Setup64/ +Final/ +Output/ +Temp/ +Localization/ +*.bin diff --git a/ClassicShellSrc/ClassicShellLib/ClassicShellLib.rc b/ClassicShellSrc/ClassicShellLib/ClassicShellLib.rc index d16aad0..3cde325 100644 --- a/ClassicShellSrc/ClassicShellLib/ClassicShellLib.rc +++ b/ClassicShellSrc/ClassicShellLib/ClassicShellLib.rc @@ -275,7 +275,7 @@ BEGIN IDS_OS_LANGUAGE "Current OS language" IDS_BMP_FILTERS "Image files (*.bmp,*.png)|*.bmp;*.png|" IDS_BMP_TITLE "Select Image File" - IDS_SEARCH_PROMPT "Search settings" + IDS_SEARCH_PROMPT "Search Settings" IDS_SETTING_SEARCH "Search Results" IDS_WEBSITE_TIP "Visit Classic Shell on the web - http://www.classicshell.net" IDS_LOCATE_SETTING "Locate setting" diff --git a/ClassicShellSrc/ClassicShellSetup/__MakeFinal.bat b/ClassicShellSrc/ClassicShellSetup/__MakeFinal.bat index bcbc742..7d98791 100644 --- a/ClassicShellSrc/ClassicShellSetup/__MakeFinal.bat +++ b/ClassicShellSrc/ClassicShellSetup/__MakeFinal.bat @@ -1,7 +1,13 @@ +@echo off +set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH% + @cd %~dp0 +@rem Clean repository and build fresh. Will erase current changes so disabled by default. +rem git clean -dfx + @rem Default version -@set CS_VERSION=4.4.0 +@set CS_VERSION=4.3.2 @if defined APPVEYOR_BUILD_VERSION ( @set CS_VERSION=%APPVEYOR_BUILD_VERSION% @@ -13,9 +19,21 @@ @call BuildBinaries.bat @if ERRORLEVEL 1 exit /b 1 + @call _BuildEnglish.bat @if ERRORLEVEL 1 exit /b 1 +@rem Build other languages +@call _BuildChineseCN.bat +@call _BuildChineseTW.bat +@call _BuildFrench.bat +@call _BuildGerman.bat +@call _BuildItalian.bat +@call _BuildPolish.bat +@call _BuildRussian.bat +@call _BuildSpanish.bat +@if ERRORLEVEL 1 exit /b 1 + call BuildArchives.bat @exit /b 0 diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenu.rc b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenu.rc index bcd13d5..396bf96 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenu.rc +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenu.rc @@ -52,6 +52,14 @@ END // Version // +// Solution loading fail-safe +#ifndef _PRODUCT_VERSION +#define _PRODUCT_VERSION 4.3.2 +#endif +#ifndef _PRODUCT_VERSION_STR +#define _PRODUCT_VERSION_STR "4.3.2" +#endif + VS_VERSION_INFO VERSIONINFO FILEVERSION _PRODUCT_VERSION PRODUCTVERSION _PRODUCT_VERSION @@ -109,3 +117,4 @@ IDI_APPICON ICON "..\\ClassicShellSetup\\ClassicS ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED +_PRODUCT_VERSOIN diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartButton.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartButton.cpp index 0a2cff4..dda8208 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartButton.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartButton.cpp @@ -71,7 +71,7 @@ protected: private: enum { TIMER_BLEND=1, TIMER_LEAVE=2 }; - int m_TaskbarId; + size_t m_TaskbarId; SIZE m_Size; HBITMAP m_Bitmap, m_Blendmap; unsigned int *m_Bits, *m_BlendBits; @@ -121,7 +121,7 @@ CStartButton::CStartButton( void ) LRESULT CStartButton::OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { - int params=(int)(intptr_t)(((CREATESTRUCT*)lParam)->lpCreateParams); + size_t params=(intptr_t)(((CREATESTRUCT*)lParam)->lpCreateParams); m_bRTL=(params&1)!=0; m_TaskbarId=params>>1; m_bSmallIcons=IsTaskbarSmallIcons(); @@ -605,8 +605,8 @@ static std::map g_StartButtons; HWND CreateStartButton( int taskbarId, HWND taskBar, HWND rebar, const RECT &rcTask ) { - bool bRTL=(GetWindowLong(rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)!=0; - DWORD styleTopmost=GetWindowLong(taskBar,GWL_EXSTYLE)&WS_EX_TOPMOST; + bool bRTL=(GetWindowLongPtr(rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)!=0; + DWORD styleTopmost=GetWindowLongPtr(taskBar,GWL_EXSTYLE)&WS_EX_TOPMOST; CStartButton &button=g_StartButtons[taskbarId]; button.Create(taskBar,NULL,NULL,WS_POPUP,styleTopmost|WS_EX_TOOLWINDOW|WS_EX_LAYERED,0U,(void*)(intptr_t)(taskbarId*2+(bRTL?1:0))); SIZE size=button.GetSize(); diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.cpp index 322bfcf..2cd99f2 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.cpp @@ -32,7 +32,8 @@ #endif const int MAIN_TASK_BAR=0; -std::map g_TaskbarInfos; +typedef std::map id_taskbar_map; +id_taskbar_map g_TaskbarInfos; static int g_LastTaskbar=MAIN_TASK_BAR; static int g_NextTaskbar=0; HWND g_TaskBar, g_OwnerWindow; @@ -67,7 +68,7 @@ static RECT g_TaskbarMargins; int g_CurrentCSMTaskbar=-1, g_CurrentWSMTaskbar=-1; static void FindWindowsMenu( void ); -static void RecreateStartButton( int taskbarId ); +static void RecreateStartButton( size_t taskbarId ); static bool WindowsMenuOpened( void ); static tSetWindowCompositionAttribute SetWindowCompositionAttribute; @@ -302,7 +303,7 @@ protected: if (LOWORD(wParam)!=WA_INACTIVE) return 0; - if (CMenuContainer::s_bPreventClosing && lParam && (::GetWindowLong((HWND)lParam,GWL_EXSTYLE)&WS_EX_TOPMOST)) + if (CMenuContainer::s_bPreventClosing && lParam && (::GetWindowLongPtr((HWND)lParam,GWL_EXSTYLE)&WS_EX_TOPMOST)) return 0; // check if another menu window is being activated @@ -390,29 +391,29 @@ static const TaskbarInfo *GetDefaultTaskbarInfo( void ) if (GetSettingBool(L"AllTaskbars")) { HMONITOR monitor=MonitorFromPoint(CPoint(GetMessagePos()),MONITOR_DEFAULTTONEAREST); - for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { MONITORINFO info; HMONITOR monitor2=NULL; if (GetTaskbarPosition(it->second.taskBar,&info,&monitor2,NULL)!=0xFFFFFFFF && monitor2==monitor) return &it->second; } - std::map::const_iterator it=g_TaskbarInfos.find(g_LastTaskbar); + id_taskbar_map::const_iterator it=g_TaskbarInfos.find(g_LastTaskbar); if (it!=g_TaskbarInfos.end()) return &it->second; } return &g_TaskbarInfos.begin()->second; } -TaskbarInfo *GetTaskbarInfo( int taskbarId ) +TaskbarInfo *GetTaskbarInfo( size_t taskbarId ) { - std::map::iterator it=g_TaskbarInfos.find(taskbarId); + std::map::iterator it=g_TaskbarInfos.find(taskbarId); return (it==g_TaskbarInfos.end())?NULL:&it->second; } static TaskbarInfo *FindTaskBarInfoButton( HWND button ) { - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) if (it->second.startButton==button || it->second.oldButton==button) return &it->second; return NULL; @@ -420,7 +421,7 @@ static TaskbarInfo *FindTaskBarInfoButton( HWND button ) static TaskbarInfo *FindTaskBarInfoBar( HWND bar ) { - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) if (it->second.taskBar==bar) return &it->second; return NULL; @@ -694,7 +695,7 @@ UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, R } // Returns true if the mouse is on the taskbar portion of the start button -bool PointAroundStartButton( int taskbarId, const CPoint &pt ) +bool PointAroundStartButton( size_t taskbarId, const CPoint &pt ) { const TaskbarInfo *taskBar=GetTaskbarInfo(taskbarId); if (!taskBar || !taskBar->startButton) return false; @@ -708,7 +709,7 @@ bool PointAroundStartButton( int taskbarId, const CPoint &pt ) GetWindowRect(taskBar->startButton,&rc); if (uEdge==ABE_LEFT || uEdge==ABE_RIGHT) return pt.ytaskBar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL) + else if (GetWindowLongPtr(taskBar->taskBar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL) return pt.x>rc.left; else return pt.x::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) InvalidateRect(it->second.taskBar,NULL,TRUE); } @@ -828,7 +829,7 @@ public: HMONITOR monitor; if (SUCCEEDED(pMonitor->GetHandle(&monitor))) { - for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { if (monitor==MonitorFromWindow(it->second.taskBar,MONITOR_DEFAULTTONULL)) { @@ -1046,7 +1047,7 @@ static LRESULT CALLBACK HookAppManager( int code, WPARAM wParam, LPARAM lParam ) return CallNextHookEx(NULL,code,wParam,lParam); typedef BOOL (WINAPI *tGetWindowBand)(HWND,DWORD*); static tGetWindowBand GetWindowBand=(tGetWindowBand)GetProcAddress(GetModuleHandle(L"user32.dll"),"GetWindowBand"); - for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { DWORD band; if (!GetWindowBand || !GetWindowBand(it->second.taskBar,&band) || band==1) @@ -1091,7 +1092,7 @@ static LRESULT CALLBACK HookAppManager( int code, WPARAM wParam, LPARAM lParam ) } if (corner==1) { - for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { UINT uEdge=GetTaskbarPosition(it->second.taskBar,NULL,NULL,NULL); if (uEdge==ABE_BOTTOM) @@ -1739,9 +1740,9 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam else { zPos=pPos->hwndInsertAfter; - if (zPos==HWND_TOP && !(GetWindowLong(taskBar->startButton,GWL_EXSTYLE)&WS_EX_TOPMOST)) + if (zPos==HWND_TOP && !(GetWindowLongPtr(taskBar->startButton,GWL_EXSTYLE)&WS_EX_TOPMOST)) zPos=HWND_TOPMOST; - if (zPos==HWND_TOPMOST && !(GetWindowLong(hWnd,GWL_EXSTYLE)&WS_EX_TOPMOST)) + if (zPos==HWND_TOPMOST && !(GetWindowLongPtr(hWnd,GWL_EXSTYLE)&WS_EX_TOPMOST)) zPos=HWND_TOP; if (zPos==HWND_BOTTOM) buttonFlags|=SWP_NOZORDER; @@ -1762,7 +1763,7 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam } else { - if (GetWindowLong(taskBar->rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL) + if (GetWindowLongPtr(taskBar->rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL) x=rcTask.right-taskBar->startButtonSize.cx; else x=rcTask.left; @@ -2386,7 +2387,7 @@ void UpdateTaskBars( TUpdateTaskbar update ) DeleteDC(hdc); } } - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) RedrawWindow(it->second.taskBar,NULL,NULL,RDW_INVALIDATE|RDW_ALLCHILDREN); } return; @@ -2406,7 +2407,7 @@ void UpdateTaskBars( TUpdateTaskbar update ) } if (g_bTrimHooks) bButton=false; - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { TaskbarInfo &taskBar=it->second; bool bButton2=bButton && (bAll || taskBar.taskBar==g_TaskBar); @@ -2550,7 +2551,7 @@ void UpdateTaskBars( TUpdateTaskbar update ) } } } - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { TaskbarInfo &taskBar=it->second; SendMessage(taskBar.taskBar,WM_SETTINGCHANGE,0,0); @@ -3006,9 +3007,9 @@ if (!g_bTrimHooks) UpdateTaskBars(TASKBAR_UPDATE_TEXTURE); } -static void RecreateStartButton( int taskbarId ) +static void RecreateStartButton( size_t taskbarId ) { - for (std::map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { TaskbarInfo &taskBar=it->second; if (taskbarId>=0 && taskBar.taskbarId!=taskbarId) @@ -3133,7 +3134,7 @@ static void CleanStartMenuDLL( void ) ResetHotCorners(); UpdateTaskBars(TASKBAR_CLEAR); g_WinStartButton=NULL; - for (std::map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) + for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it) { if (it->second.rebar) RemoveWindowSubclass(it->second.rebar,SubclassRebarProc,'CLSH'); diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.h b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.h index 2e9a60f..3aaa2be 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.h +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.h @@ -71,7 +71,7 @@ struct TaskbarInfo bool HasPart( HWND part ) const; }; -TaskbarInfo *GetTaskbarInfo( int taskbarId ); +TaskbarInfo *GetTaskbarInfo( size_t taskbarId ); UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, RECT *pRc ); extern HWND STARTMENUAPI g_TaskBar, g_OwnerWindow; @@ -113,7 +113,7 @@ enum THotkeys // Set the hotkeys and controls for the start menu void EnableHotkeys( THotkeys enable ); -bool PointAroundStartButton( int taskbarId, const CPoint &pt=CPoint(GetMessagePos()) ); +bool PointAroundStartButton( size_t taskbarId, const CPoint &pt=CPoint(GetMessagePos()) ); void ResetHotCorners( void ); void RedrawTaskbars( void ); diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.rc b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.rc index aa9335b..5352c82 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.rc +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.rc @@ -1207,12 +1207,12 @@ BEGIN IDS_MOUSE_MONITOR_TIP2 "When this is checked, pressing Shift+Win will open the Windows Start menu on the same monitor as the mouse pointer" IDS_PIC_PATH "User picture" IDS_PIC_PATH_TIP "Override the default user picture with another image" - IDS_SEARCH_METROS "Search PC settings" + IDS_SEARCH_METROS "Search Settings" END STRINGTABLE BEGIN - IDS_SEARCH_METROS_TIP "When this is checked, the search results will include the modern PC settings" + IDS_SEARCH_METROS_TIP "When this is checked, the search results will include the modern Settings window" IDS_SHOW_APPS_MENU "Show Apps menu" IDS_SHOW_APPS_MENU_TIP "Enable the Apps menu" IDS_SHOW_APPS_MENU_TIP2 "Enable the Apps menu\nWarning: You don't have the Apps item in your custom menu, so this setting will be ignored" @@ -1244,8 +1244,8 @@ BEGIN IDS_TASK_OPACITY_TIP "Set the opacity for the taskbar (0 - transparent, 100 - opaque)" IDS_TASK_COLOR "Taskbar color" IDS_TASK_COLOR_TIP "Set the color for the taskbar" - IDS_PCSETTINGS "PC Settings" - IDS_PCSETTINGS_TIP "Shows the modern PC settings" + IDS_PCSETTINGS "Settings" + IDS_PCSETTINGS_TIP "Shows the modern Settings window" IDS_HIGHLIGHT_NEWAPPS "Highlight newly installed apps" IDS_HIGHLIGHT_NEWAPPS_TIP "When this is checked, the start menu will highlight the apps that were recently installed" diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ItemManager.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ItemManager.cpp index facdd37..c6189c6 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ItemManager.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ItemManager.cpp @@ -1726,7 +1726,7 @@ void CItemManager::AddOldItems( const std::vector &hashes ) if (m_OldItemInfos.empty()) regItems.SetBinaryValue(L"OldItems",NULL,0); else - regItems.SetBinaryValue(L"OldItems",&m_OldItemInfos[0],(int)m_OldItemInfos.size()*sizeof(OldItemInfo)); + regItems.SetBinaryValue(L"OldItems",&m_OldItemInfos[0],ULONG((size_t)m_OldItemInfos.size()*sizeof(OldItemInfo))); } CString GetPropertyStoreString( IPropertyStore *pStore, REFPROPERTYKEY key ) diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuCommands.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuCommands.cpp index 0615b24..8c57098 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuCommands.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuCommands.cpp @@ -240,7 +240,7 @@ static DWORD WINAPI NewShortcutThread( void *param ) static DWORD WINAPI SleepThread( void *param ) { - SetSuspendState((BOOL)(intptr_t)param,FALSE,FALSE); + SetSuspendState((intptr_t)param != 0,FALSE,FALSE); return 0; } @@ -469,9 +469,9 @@ void CMenuContainer::OpenSubMenu( int index, TActivateType type, bool bShift ) pMenu->Create(parent,NULL,s_SubmenuStyle,WS_EX_TOOLWINDOW|WS_EX_TOPMOST|(s_bRTL?WS_EX_LAYOUTRTL:0)); if (GetSettingBool(L"MenuShadow") && s_Skin.Submenu_shadow==MenuSkin::SHADOW_ON) - SetClassLong(pMenu->m_hWnd,GCL_STYLE,GetClassLong(pMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); + SetClassLongPtr(pMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); else - SetClassLong(pMenu->m_hWnd,GCL_STYLE,GetClassLong(pMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); + SetClassLongPtr(pMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); if (!parent && s_TaskBar) { @@ -2245,7 +2245,7 @@ void CMenuContainer::ActivateItem( int index, TActivateType type, const POINT *p if (res==CMD_SORT) { - if (pData && pData->bProgramsTree) + if (pData && pData->bProgramsTree && m_pProgramsTree) { m_pProgramsTree->OrderElements(pData->hTreeItem,TreeView_GetParent(m_pProgramsTree->m_hWnd,pData->hTreeItem),std::vector(),false,true); } @@ -2956,16 +2956,16 @@ void CMenuContainer::DragTreeItem( const void *treeItem, bool bApp ) item.id=MENU_NO; item.name=pTreeItem->name; item.pItemInfo=pTreeItem->pItemInfo1; - item.pItem1=pTreeItem->pItemInfo1->GetPidl(); item.pItem2=pTreeItem->pItemInfo2?(PIDLIST_ABSOLUTE)pTreeItem->pItemInfo2->GetPidl():NULL; item.bFolder=pTreeItem->bFolder; item.bMetroLink=false; item.bMetroApp=false; - if (pTreeItem->pItemInfo1) + if(item.pItemInfo) { + item.pItem1=pTreeItem->pItemInfo1->GetPidl(); CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bMetroLink=pTreeItem->pItemInfo1->IsMetroLink(); - item.bMetroApp=pTreeItem->pItemInfo1->IsMetroApp(); + item.bMetroLink=item.pItemInfo->IsMetroLink(); + item.bMetroApp=item.pItemInfo->IsMetroApp(); } DragOut(m_ProgramTreeIndex,bApp); item.id=MENU_PROGRAMS_TREE; diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuContainer.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuContainer.cpp index 87bc1a4..8a7cf10 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuContainer.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/MenuContainer.cpp @@ -8089,9 +8089,9 @@ HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPr } if (GetSettingBool(L"MenuShadow") && s_Skin.Main_shadow==MenuSkin::SHADOW_ON) - SetClassLong(pStartMenu->m_hWnd,GCL_STYLE,GetClassLong(pStartMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); + SetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); else - SetClassLong(pStartMenu->m_hWnd,GCL_STYLE,GetClassLong(pStartMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); + SetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); if (s_bWin7Style && !s_bAllPrograms && s_Skin.User_bitmapSize.cx>0) { diff --git a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/SearchManager.cpp b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/SearchManager.cpp index 0c2847a..028ea34 100644 --- a/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/SearchManager.cpp +++ b/ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/SearchManager.cpp @@ -784,7 +784,7 @@ void CSearchManager::SearchThread( void ) scopeList.push_back(SearchScope()); SearchScope &scope=*scopeList.rbegin(); scope.bFiles=true; - scope.name=FindTranslation(L"Search.CategoryPCSettings",L"PC settings"); + scope.name=FindTranslation(L"Search.CategoryPCSettings",L"Settings"); scope.categoryHash=CATEGORY_METROSETTING; scope.roots.push_back(L"FILE:"); } diff --git a/ClassicShellSrc/ClassicStartMenu/StartMenuL10N.ini b/ClassicShellSrc/ClassicStartMenu/StartMenuL10N.ini index 1be09df..d87abde 100644 --- a/ClassicShellSrc/ClassicStartMenu/StartMenuL10N.ini +++ b/ClassicShellSrc/ClassicStartMenu/StartMenuL10N.ini @@ -998,7 +998,7 @@ Menu.RestartUpdate = Update and restart Menu.Sleep = &Sleep Menu.Hibernate = &Hibernate Menu.ControlPanel = &Control Panel -Menu.PCSettings = PC settings +Menu.PCSettings = Settings Menu.Security = Windows Security Menu.Network = &Network Connections Menu.Printers = &Printers @@ -1084,7 +1084,7 @@ Menu.Uninstall = &Uninstall Menu.UninstallTitle = Uninstall Menu.UninstallPrompt = Are you sure you want to uninstall %s? Search.CategorySettings = Settings -Search.CategoryPCSettings = PC settings +Search.CategoryPCSettings = Modern Settings Search.CategoryPrograms = Programs Search.CategoryDocuments = Documents Search.CategoryMusic = Music diff --git a/ClassicShellSrc/Localization/English/en-US.dll b/ClassicShellSrc/Localization/English/en-US.dll deleted file mode 100644 index 133cc6f94a843a7492d3f9c47a8537c959a1ee37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115712 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%0Ay{zIlqr1rb>;=oYv~ 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 diff --git a/ClassicShellSrc/Version.props b/ClassicShellSrc/Version.props index cd141c3..b0ec7bf 100644 --- a/ClassicShellSrc/Version.props +++ b/ClassicShellSrc/Version.props @@ -4,7 +4,7 @@ - 4.4.0 + 4.3.2 @@ -12,4 +12,4 @@ - + \ No newline at end of file diff --git a/ClassicShellSrc/en-US.dll b/ClassicShellSrc/en-US.dll deleted file mode 100644 index 133cc6f94a843a7492d3f9c47a8537c959a1ee37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115712 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%0Ay{zIlqr1rb>;=oYv~ zdgmX*y>-_D!Wo!R1<$}%Vs1~6((_Eh+pL`)Gi`jO2um}CH&yTKT;x3?-;y5M=U5t8 z&x_HMj{9*v=5vOp;7p__uP>@0^*qhm6id3K_q8J8RKE_7zwa_2dP-`1&Us#=>^Wcg zDW8B-_d8AmrypGswriMTwl#OTCPz2U2l?W8H}758=;zssv#bC*OlPK{>Cm#SbIV>> zSt0TqnB78E%O<~*w}T?aDOmqUO0Gb;y7hC2F-=p?65{eXdg}(kDLxG zdFUfQwf4Hiwb%^Bm8G>?XfL^RiOch-c#rLn0@7Fo+c&Z=`Kq7?gk1 zED?D0JhWDdWOK=5kjdcx6|KDP%=E?ujwXDP%|J^tKV~akD4P@cmj|+ZFq#s59_Q+| zv61J(kz${J{T}0L{ljaUW%WE`<=D;p!`tEfUvDYMqjnU$e8NV2GFfwJ_O3N%t>-bD zu+#E3bT2G*K7-sg<(w{`1RRDRPCxaUG5!}2bE0$LB_OEz9lsoT)OsTP9$e9l9dSvC zj~_`KDNKjo#oyXN<94{KN8nT**Pq6F$O^VltLMN@o5|*K`+q}*iOY>1`Cg9p`PizO zfct6;;QJj)kqxt#WJoJJJb}I1%kvYur;xbO}0*a|7qp5dAw!e^p|@-bL!_|#*fS$kXDflq}TdZmE-U)+N$ z7(FxqkcJMBw$dJnJVz9oW6H*rt_&V@i@^vnyX~f_a|qWP?D#+IqHvhp7u9-6yqjy~ zCp&4@wu=fhP}6U4R=)#vnrB@ zroy{o5yfrDuj~R6OVSnj8>A({1yv{{1dz|?itIEK7FoMsrJqPDs zJjX3I(%}&<7xK;}De99f3TIK@*`~5=)8UjA1tWXx^oOlOtU7KMGU{a`AD1z^Ibj_2 zv{H7VNffa@5HA!*uP;V+ShrXYWLsDd+-(rm)(GDce+ND#n=xo!mpD7t+eBaQul>Hq z0I#$0q5om)BdA)h?zZzJ7pC#>fPG!f$Li;Z%SJiGe5|~^uQ-Y$(R)Zb>u<4+^ZEsF z)k6BY&~&_f`w~~eJpMy_*5{>Jhu7$Hj(4;|aj3bZh=7={>zR;`T2A3Gm$lW2k8|8a zALpAFb#R#f=$A&};Id5Gk$>M`gspPu;rChVk2kQ1c%Fx>Wmu{UvtCMV0e$58)$g3w z$=N%TbO__lgBNtRM2>xZ9hkiJxt*==vVPGT(T=*A9p*#&ExbW87`9V@auQ#pgw@m+y6tc9-GY_vv=Mr4t$I86n;5CqZ83>*0-- zZ_pYxv*3+~4Nh`t2kqZE2iDwK>jdnw$HvDBOXWTD1~ehUD=XG=|HUy~+P+!~lV23) zA!|sPY8IJ+^tGSH9G;i=93Eh)*`v>hm+7y>g6e3w?-AHl_Ah7v#ykc)&$JR!6gHVR zTzlm`o|n~E=25)nhXzpeFlfGi37H{aAo79Vbee>sbD#l#(SIKQd43)4<9%kzi4*XK zR^uI)%DMs}`eDx6=5vsTu_o!R+&2dXB5~=MBeur5HG>dJ;!ok(h2)j~6Z}*5fqur% zuWj3FGOWRW^$hCM`0hx&%gDKA4zCj*DfZ5QSFOz|r{$Q-HMQibi}s31!DY;|hUfHR z{qLQNf(|W?XDrTE%}b1w!{~l`=Xnp4~3O8@(MSe@fwey&H*y7KgY)+`J7FD-no zNqp7R;m9?4Thnc@8Od8iLz0=q4)AYe#CP?9UFY_VRh)TM!ZP?3XXMh_9#7gj^5MuK zeM5KcGQdJgyD(3l_!*wcoCk)^~U`P6M3ZjW|NSJprv(dc!Oi=Y`xpH(i4^i z)EaZnF|SKeN9<#l{PV8cd3H?0$L!xnzj-z6R{IwmkJiK{up%NXLSHM*w+-uiYr3&fOQZGlFWoaJNbi6u?w9m@^jXo%K_~}JV zZC~U|oLOc{UTx!g?7Je-C67**r?@Gi(`D8I{cyNBJw0*Fw9;yG+WRw?kK#r&!XaA~ z*^=IM|83bQl3SK~!#ks*y5tSAJgjn{f8xoSB9>zA@l1AYnbm+RZdyL9I`SPJ=NMe< znvkE@P5*T^Vw?Ws-r)SJHobEyuN<8VOy1w~BdfBz%rau9GqNWhC*`fdW<*45vetR@ zgU3fZ&L?=6jVd~okxsP9d&y&xXmLT-OCG^sX*~vt*2_k5%W|Wv?4s=7icH_@&glgP zIsa%!;%M>+#3T6VVAy?+k7piZ$d#n4UFll;oB29}d|d1zGTk+nY#I=_oaqc1^d>Z} zs|d@wIP9QgfLX}vxU|Q6fOmv7M+R5QM@2u_IUfLRU z8`n9u1d&%BhPB6A%lDxple&j*gw$*OdDiwl1+3-zBRWjFd|*0ZDbUxI2oVwFJEg#% zS1yTu+PxVop*bY%JSJv#zlT2IIM%uP&XR#v*p1hjtaE}~exiu@p|)&DDN(WBTa|QP zXoGmNuD3^gv932(CEc%Fk>}+!N`GH?hFx#uQaPJ47~lrpm6o}x7doOy+OeKOY%iWD zcU8JiqP^aD)Op{lhA}wv1XtdAU?+9#KL(<*!5b!$_K;3Y_#X0uR`LH9Qj<> zcdr4|dqgBLcDr}>Kjcv?UPZ(MmyGO&JT^%T<9VjFjv%Bdk!qdrs?!Vmf3G!6VzVM! zFC3@}2>Zwyz4F1iPZYCT$om@-=9d0``&7mkdQYlUY!0S12giQIsIKY!iRU`tjS@!D zlfG0@Ozh|kbe!3{xH|8N5>MN&$LY@mJF0p%DQM1Py4rNWLspK*1JBZ}e zd~EcV-+dr)#6iO=vD0dcFk&|Xo`qt+D@+pD7nbjg6Bi&+WPk8L)S6S=$G1esA5D=3 z^AKke75kpEu%N7q-#k2Z6np{4WsB4d*oRiAGGV2I8Gnjk=gW> zAI~Xh?Ye~aibNT>D(B|Dxv6#dyYQhT8yZQMyC3SfB)dTW%1Z-vdo1w~>#^@NS-Zz5 zxDcveJEYbP^I*`qUy&;Ev(%C1qg8t(=XvzLY;ewJZs>4SHecP9@Zw-@qaVg%_=G%>oKsF&(~Vg5va zD-|8H&h*yJHd1MmSnCTL>~?7~wGB(MW2i}QvD}8o@#uPDlI6+Tz=^^{oOeO=7km_v z4Ve>i6RJVgTMP4V_%4z#+t)YNNH*AIV|V2@6QwLq38C+ULSI7w$@)nb+~)8=w_=gR4&Y(Asa*Tl%UI81OzFEA*rh$#IjXzzZq8 zp3*zYF|yg-zyqU&qGR+jreORu^=^&f5GfO;)ux1lbC2@KXEAV$$MV9VJlFD-s?mnW`Z@ZZ zp57DT{%hkm0o|`Fgy!klb2FF@E4NpFYwEeVC>dq|SL(32yK53d_o5>{6 zcplNl^ZwHh12(s43y0=n^U}dRUUa@ri#Et(*03*(cGR>SvUGC+vmy?y-`4%*Z$)J5 zlIU=|6u~9==v}(E5As?9Pc7v2=v|PnHa^7GaaOOgv_y?mZw?yH&p|iK2Uhe}WsQsyU(BO4o-$p3)G5pK=fFjkJF75Xhg5x!5HA-vU z_ybrf^4NllRlrS)g2L%Zgf*_$g}`=RTD#)B&-r?Li+MOyl7P9;jpa$x%Dv9l(?Z}{ zX?YMl9=O=!q(O7zlJF$o>4?c192~tZ1P;!XayZ&_o0(o3m{_4-5=P#`NfRLN_+nHLgp@CRN9QOun4M^bW3?bvg&2d5Pz_2?b`Ev zyYJfZPU}x~IG!ikVZ29-<14cGIPIS2f6wg;wF5rdebzVUEq3>*r(i^ul1!z)d6&WS zu+8XRllr}8bGv&eTSZT-onWKU7_7%qRh##B`zY2e?|ZI*?2~eQG9z3M%ukP zPhqp`GpX(?#@L$1@RMbovZbDhO8DB^irQYeJh1inZkpBpNZZ~*pQ{X3=1e?Z_k2r_ zy|3HB2kJ#ND*fM8a9;_WD{^A&(1&OQqMIYeHwTvJL)6e|1t#C!SNb8Ixhua1L6w91 zPH+dBdORg^FW2iybMGfVfjo8qjPKJWNq9Tle8BiR&j^q`2#+~G=|p)o@El%WjTxtg zpe^+Vl)$qmJ5ffT%Jb=7yT{VLMb6wU!=*#XWL*xw*6Z3do@0DG+;z(cM* z({JG1ZSuals;@wQdGBvBuJNyvdCUkk(INDwOlM#se-|!>pFBs6j+gB_Xjs0(o}hWz zyD(>MHrv0oLPh4|Nb&>nukVyq0Bx#lUsT;t`+acav9wO1QgoS*3ns%$@O%mLx7=Rd8Q0#<9#f_&IF?(J5I|$LwDH&mxUNHINbTiap7&t(V$1U zR*9{X7l#It-SKz3#vzXaCkx|9A2V?2TW@~UmG*z^VxVp8hz@BG_So;ay}(C~Pblx$ zY#zZE^ppnjnxkutC&lf0BeyR3 zC~z%Q4>#6CR_x;^AgPJl}cCyUKe-7)m5q9U7jM6i7ebYtrwj5*6 z@H5GdDS`|+aXOr5zN7YqUTttfUF^6l8&Ctg*1CQ%gWB)al8mpH$0T?hXr_E`WWW$U z5^D&=aEusUim#}fOuLe?8=k8dz%8s_I0?1zij z@i@khq0Bpxq}t|tz>osfUx-3vU{#??E%_e%H@GZiO_~N-K6)3{? zJJvGLO~Noa1@t^o=Es(V9p}m%3TP0cDU+l6LY=G(4#7;!tGzSI>!{mNn4&5_M>%AZ zvpS{g-QSYzGYWIWi;^^=+ZA`oFGD|R51mHkwBEbz9x=DpNH|^Z>`rfzx$H@^xjX5C zJewNNO0LDyv|}1*r4wi5Q<5q3-ef_f&4~Y4^;bR!t$me2?@*x2$PM8o$mfB!e3h*B zBI6xZ`uSM$Kcc_dBGmnyOt>$!Dj!)CWO&ZzaKNa7{J7pAmjDkUDcT))&!YHPQMN2V z-oIvz2I}H)WuuASRj(h`R!>~++t97bI14QmdwL!yY?Sv9*mVt&XVB3N*gaWp*-6<} zupytjq+iS?aw)D4z$@db$`j3-uYi`&ZZw{{KaGtB#-4}@4)4RqIUDIG$AV;@^HpLb z*Dzi+zVvyzuUC&2^V(=TKVr6JB|+^y%uH|XoO|tK^wG25>&U$U_liVq#}AeWTjP}z z=VVX^=1NGWzk|>^Ozf{iyGhpFT82#jKufpgCy}??6W#1IPDU<}0<0n5j7G;vmtNcP z-Lg$q7x*^2kKMh_asUxca(9zOi8Gd+q}8><=Wb!HYi`I|tKBWbR%ctBg|?D^-G;S2 zH)75H_Vdr}dV?-t52$@^H!NyyH&~TY-J8$t+)<`i`DtttGnC&#R3%%yxSi-Ohx0`l z;(DZ1wP!vyo+)(=Kmt$UXW~Z%Jo2yFu?DRVCk==mk65k!zI1qa#kE7L9m#g}LnoiP;Wh&zsRFSy3w78^%B`1@TmUNx-Ii5~B^x8R>TYvMU8%>@sH zJ465vEXo6N9EA-DE|51Py-bvq=M^GX5}QXj%mKwbJr=EUmp}6 zwc%~~Jc9;Kb)KLTTobs2xm>c77whNyuI@41))92{>Q9xIigo;@eT!nTl?$-X(3epb%C<<2FS0labK93PDH z+#JsJb|MgY5Gw!pDqD9niIq}|sif!RtHfRWJ7uE5R>Z#Jq{}@X&kZ2MUGZRylAq5U zcl*Zf&e90-e9YBJv*q7Jh`z61)ND0kS0*InQR5?Z(1MIO^X7ZmuA^e~O^X_x_mE<6 z?iNF%x&CAIPx(tYYaDGBwhNFmy0B01YUBy0jT7dqe{x=UJ4F1-uegp`-1pNQPR=0g z?wM8m9K-qS9!R)Q^(4HRONzsjTSq9PlU%@*a$wMvIo30+bAWw2k-8%pd=<$|y;2ii zQ`CJpMWgm(adE$8I_^V{a0>`x_&b5npth)js zG=oQ(E{Va93!#`!8^iMwWK>c-k~HXe_P^UW56^8yiU9E~{gln`vuBD&sTsmvv@=k$ zt~Kuun%g=!M;ROC4UxgzHgxM}TCplL~vTAMfw|@b+63`y^()q4_((q z(>4dTu~d%FiHq{Wu+LFlGH&MOS5TrBi5ZjEj9LS%E1nyDg9$t+>48Z*?+=O3&#>SN z%4l;|2xZlHPx*W79rl3!-L?dbuKU54)2__dDWioyL**^}q7_DTzUu*LXYY$Q{L2_& z86umAC3(e0JF(w`lH|Mn$!&me0 zyA5}&19_z2QiE=%$_?-9pizRq;pI46#MhfRxx-gVuSjb(a1w7`(Y!a+P(w|;AzOB-I8ipEjg34O4k>l6KoiO$C{98y(58+E5uM;~l`A{Wzq!?rzK~?1U!fix zhL4c{Ey= z1`3*q<|h`SgQKw*+Ar%r^3+v>i-yF{!&`Db#UgpVJ#tUqZksfV+-|_<(}pp6a7&A> zgX6#(dtJjxdsAqV~XzpFS zRdlwqG14cR2=_ds%%sp9JX}Ie44mI!UW@_4?|xhB{wFR!3h( zARCP@G;5aFIdCaZIR&I~PCRsjjC+vKpc|eJ_>(l@9pxTR9~aRI&4=Ga76$IhWg0GX zY<9QErMs+s1PAgRfYf_&-xpXzQ_>>mZgLIM*6}7WgtT_dT7SRC*0OFfjilH`n)?k4 z>;b-djH{f)|drOSzJ*%MtJaqz@m&{4hy;#cxp)cu~W`lI?rd8TZlK0b3D~!lYjtYu;W+g9P8*AQHL|PVj=d20SIlCI zwcwsAZNM!%3iS07&C~bsf}Ne#TDmOskbmg}h=3pKai8^1JpeP*H{=-~**x5^JEzSB zP&DFLmp|^ZDyVw3L32^(yGR&vis$HS!$>5UmM6(6#9gEMxgmJ)$TMp~-Cqisa%k+1lIC{& z+-WOyP)8EwxXb(J2|LoYwkJ(dk0FdHO9oCD1@0sd4AskA#5hWCH0*R?9eDu)ak6AB z@Q;p(6%xsX+q&EbaQ`FMZ-Yd=zPI7bk}s|pGggf&Q5a~Q8YRze8`Br7oA5sN0y#ns zkym+pa9`~2l^+Ek)jY>ra5*{zXxwLP^Z&-qlkQy)_&yxR;0~Knz5XJq=jXRy(b*>z zI?@^B9?(e(>FavaJIFOE@G&31( z^6zA@T)t+_+gW^1=t?Mj#KzW4^B&JnT2dph_B9T+*VyQi8Cr$hI49P;%2|y%^S7Xe z7e1?E4f$D66O1VjL5vFzQUfB$T+U;KA4`Xw4L*vDSYMyYNwni<`e01QeNZrFwV{Op zZ!H@bJSzVxhb-5A(PLg;BAhO+$6S)5*Ee*^^o(IDa0d@K{%<$T!^yET5RQ;7d)(G^ zum<1*TuXDi*IZ)R{hjaR7uESDntLa<4E-80`6k_TJ% z<#;IV4t87_v$HLRj{T&vOn$}!^#%vs7i)e`flwENY=2 zQAxkyV=SifTK156fEoQh6k(+nu(e>ub^3PcUa-Wig%B?-lVtm@$MeI zbAiE64oj={`o7$UtT+1Ho$RwS!YGY z^#;AmRn@Y!TOZ&>-!KP_ik;WLT+;^x=nf(doot7%&fXyU2y7{y3A@003t3Xdk3j)! zlHZd?tSj}smgg$tKEST+OOqevM|4wOzw&B)ig2h9&Gk}Krp z1Xcr1=UzPXSljfux)z9$^Enc)km~_Tv>RiS&VcaM3s7sp90dsXnEyGa*lr*MY3F9QT~rF>)=;nrw%kXH6EPo!Qy8qQFFd=&rcbx{9L6PGOZRc!{15XNS+NYSAC*odj)wuI8!)Nl0-g@H<>NHr#@Jc*AXAZRE`^n_5;NCdhjm*?J z!*5&A&NC-ahU}n6ly@&lQu=yBYcbOtzvOP)wPH1{yYgFn&&$_0?n~Hpj&J7_-rVCK z`>IO5#x05g_^2o;5tEVxl`y74aooQB?$Q#|0kF>F8q-fn9W4^huQqO5K=pArOem@_xK4A?C zlIhG_;}x@B-L?0#Z;nVHu`Ofb+so^q8oB-+BO`Lod5n>359v#3Li9-Bzi;H3>6%}V z{SVv7^;aq#cSw@Xt!>-f99M8K8j$$_mwOFuoW*Qe?LxChRgcc1-9NOT*fmyfl!;-F zO3rJHhs~khVBC9doy&^TbF4RNilG~krfTicLpp(qnQSv&gidgVY;L|A5E<0_j;p?Y zfG@s12A}$Q&~A@qfwUsvy|EG)*1M*guf<(iVa4C}=WVL7pTDnqHK*uV6_ z95%0`q=t`MwrY>w$C>r~$b?Z();B+Y-X3A0^J|}}#QBxXDpu(R&9YQE1`l3n+!||! zB{#{l!g`lHTiTeMx9)H8zGE=QQ2qu!7Ct%t7~|!BGAsAeC+M&ohFmUvgwlezch%qH zX(>{gvoDdh(TC;3TwP*=zzA9W*(#w@v6ZmbI)s`-1_-Uz*`=ZxIU=c)iEUW_bNcXcN=~T zI!IYF?&=GIjZvibjPrMPWI9iK_Y?!fE|h%s9v607o1A0&zF?n^owrvNz){nyvj+KF zldlL4v20+5-(6oPpaRO@3Vq;kx+QX)_l>@$@=ZTzlBS9mY!uZVoS5l0j@}fN=yycc z_-w5I6Hk|wR%OJAP0=0qTyrefertW2x@tjkKV9`+;S=CX*Xy#*U(R>(KU^QMljLrL zipnkLd%S5u*~Z5k7hJ*B?#-#u?saB*s(EMP0JIu>j@+t3h4`E~srJUDq>X937DkwC z+Wo(;$8xz3;W)tqg$hK!@@vAw@%T?U6ZQ#(G>Ci0!5%z{cT_?z9uVw2t>Nc%$nb(L z8f6N)dMP8qcnc0a&2%(%YO!mxzlS5Kg7b7ofivk9bQsB-v27k0WxaaGAby zH1Fv|AMg)1_kV78H&sdB44 z1%S$bbeQvNZaH%Mr7^Ft-s-vn?f&q*f~qX*2rje;Su=-3R!Ld`OuGI;XOgGVYA5+U z|2rrV8fyF*`hD{ulXbiG%iQti@)}&uO~1y@HBx>JTuO#msRjaNKDmd#ti77_Q_c$> zwW7)Zl$N7!4lW%rZq2v(xTWQtZ)|i?-~hZKB`Zdis_106$-jx5?+nJ;Xhogh&{WpT zC0^Djc4*#E=(zc61N(Y$%K7tr?vC@B=}(`sv6i-$vc+(fuUdp<_W7Osl|jC7AN&dz z__{2z*T;>r*pDZA*KNel!A~Fgu9YdDMaWb=m-!^8i~n-j^SrOlR+-Jt*vY-S?rKi_ zoYKmpZIMJQs`9?xuS=bxe>9J*LhKT!g}iL_3C$zZIIt-2fsy@SR^$C&>K2rpDf`Ja zWq7&xYtjs=EXk!c*RvP3V$iyG?Tx^mDDr|^*_Uz6qM&!G)xFmkN9XQpwEu&h`gyfR z=?gJC_Zf&1^DM*C;$V8giU`ZH7+pIQkTxvPqse;K9_Ki?$dct_gv7c9;GEgTaE0S_ zsjzoJKps~+#{wJfYsnjr-A7CN=0OQ<@Id68%j`)#D%c`QAR^QGpOR2|0wbYa7%Arr zGDtZEeE-0}B7;+j_ZXMhmUT|;%g?!oC>;M1KP`{=Vx107++!^`Z5<5-{>t^tzw%u( ztB}?cF|RJ`-z^Jpz!CG!$>0)?NXwS_#yx4jY|a<8k98vUN6ydZ&J_`Bp>3tfUDqA3 zS)fJz?67k!j^wLFJonSEWvTKtX);$!;ctfsz6|&kd$J#x-5*3#VIQ3e<>)Svi3ayPI1lHjj7OR^3nQWqZg01 z2kCr|dq>g_-r-{T6Us~F*!7+8&LK{Lwr5p)H!%+=SnGW6XM5s7q=>xzQRBCza8mAp zz{B!+gQvoGVIIsizR?HwsCptGc8+47qM{*(kFQPOd9Am%Jk#~K{dG_3BliO99ADeR z2>3kT;``Of!uwv)yiXukc7nUUlNCtn-rrnhNFCqOP0F*YMv0SLA`@BnbAhkp<`5MUwU$N6y1>;)XOxShjIIqC+O1UkKMi`dCT$Lrg!XD&uNQ}%01gIXf8|jN_@c@ z9pqoKMl(Eaci>lg5!Q)&MA@20mbTY&K3Wn()sQ*vYY3!2=I7G(Y~t&CTN0P|oxrwn zbQaC{c9F?+SjkeL)3C2|hS8a1-N{03T@o+!_m@*Y@?Fe%zVqdNc$8z zE1QADvU;eTXIPD}LAh_OnbX==pE-{luHw8JxJ7$!rYsw<(_}#2WY>(ZGYIe^{XEUw zv!_RSb+LCopkU_jwm0+B?@!h&9ve~d0fWg;;Q`jS+W+~yT<`PD`LsgA&|px~FI79lKt zmdp=6R1ZPN_E>ir#|ecRf&cTU?F@70D~xQ)7s>y|K2 zVXc3DJdx+@qnwfKH(Y?fj7FnQZt)m~H_Kl7p;$KBL7+3p7RRw*OsB*2am<;9MLcys z<>vlGjU!8%S9wC6+Yna7G&;V$`*AbVd_lRC4mdncqP$}Xn1%Cn1`Vr3d2i&PIo&I$ z8mqs7eS9&U9VUyO+pW`!b3=)g(AP-CLHkcy@0{V?h(MURES+1aGi=`5%rBWXS>2ZdYfZ_q`_nNz?sx20=b>v^dL7pOd~tn(L>lvwTGTj5^T! z5=_K?Xl!)qPU~-ljat^NEVH?5MI6mqW+&m}+)BC*uFrTA7p$=n@)ZTFK-u5)>EhOsf3O2KE5+`3JZf7pX}6EBd8XV`aM56N;pz< z0Tp!`Hs0P{#yJZ)4@pL0_gnM!apfpeI{w&{ex=9x$5 zwS|l2@7eaEyC7U^GUE0ze;bWW zT%|9`EG@s#&-q>RaXtyl+Ye9ZU8hzXXTFkrL9$e`$8b+=K}xJqP0-~9$ZLv-HGBqX zQ)m;gKpX5o;C^ zNn5LT>dSKt%+_(O_Yg3Bpa&-W?US{WW#RCv%9QWBVr9#{J&v{Wjnepvs)>^i5f~r} z4j+ShtKe}zuMf>i<_F4R&&dtJOT+@mkbGm03f?^8tULleVA55ud8iT;-O#@;=5gzv zHzW7u5hR>-h561r_tP^4Q|&L~>3H1=dXgEpa|TD2r2FTaBl#YOul+?VvOIgP-UxAb3-?UKD%v?l4?1B4chy7-iiFTd1sQcS|^b zk9nQ<6+9IDj6U{Qchaa4V_*%TL|qfqJ-W|t92BmfWD81~qE$C0FW)Qt-S*5(Q>*eu zn?bBZ;9(%CoY?CbZSdky)UqLsiKbM{>~i{d7bOi)NoyhbcV3(aee7ITO3fYo>@Ww! zdJCyQTCge$okOg}z?Zx!zIJ%(%srkJz683|@qjMwT8pMF@_e*;lR?!z`>t6L&0Vx0 zifNW_Y97p>`P_F6RdVR4=hjMR;O)B=_wlu;avxbh@cRQzsr#c==X(a4F_5nFU z9$mu&gXBdTpP9=>(5qIF$U*>V*UHCvCR^G!fD9?upKDrhguOpvb%D91k8z}>eYZjM z;xs6I=kC58%kCY5ztBHUyEQ2*A|Ix^pTj-AVt4C>jf(!cGszc}d~}G#n15ghnrL;1 zwVPb$`wVjK1J~|twDojEREmkTJDL4GciVey9Dp%wh*q)4Nxr8C7wwiAnZ#k( za=tp8dztu2eVFW~7(L_rQ)4CTp>O|QYj^#AKJrGZ0gCzMnAJD2!ZW+Qnw>}FL7~#p z1O*(EzB=k&G`>cRl0%NvfsZS#MGiUs3m(qKX07E^C57!+8EMsObiF6vVU`5BR~CHV z-zOf1v_Oq_*JVE6HN!ll%XVAW=v-`QTgTlww|a~$n32x#Fe5hsG+nExHB@U&m+(IE zO!(ThryA=~ONEU7=Nsixqn)&MM9tw};w|K-UCNf!^SNV5)@l4Gu0PupYtscykG=63 zwD$+!XfgS~90Kz`kSaD2Wg zn{STq+`n*JQRWTA6YxynpBA#Hi>tjw+NANI3Q=(GYs>G`jk)%d?6(UBt8agZeW0L96@QW;2ZQ zS@xM_lKmw%V-`T+6$d}MWL)IE)GJLPQ(D__sSm!T&IRdU?TiYpaWLYY)wN2z>)9FR z0_M?YtgxVm>Ujbo88vJhHPFuWj)$E8w;7jt9)c)e&pc+ubAnPqe|(s{f(u%sU-8N3 z45qf8r4LpLB~`w5E;-D7>8Zvm;KV^_ZpOtHu%kogNr1r`2A^O5Ou*`PgA!QjlM(2J zIwj@DvP$fgmi3)#E*<4L z>lq?jZeJWPco*?~FLA?E^P1!zDFR}?xx7X$n*J39y>Ce}(bX$>4O!^Q-o>aM13YQ? zXYHNS{M-(N7ZLm8mD*)liod!J;L?nw9pl+F#;wQcbl2^~X-zbip=_|qD8XS-*;j2|V z$!j>^J!Q7x(!Gfn`5PSa484FIMxK#TVm$6s2}-ZtuFcW$HBQ>2kI~Fg{lwi`Cox-S zAezdr3!Jv;!0eDS>AH9hm!JcfEi1x2VOCnBaeUGS8$(M;yy}hki`~jRN1ll>fy^~7 z(H7F1XRc+}+^6Ijqv@Nmn(! zw}$)Sc&$A_HFoUGOrP7l!)BA8af7$ihW;JHC}1Jb*XNa-Joqme`fE>}Jf?{`16p9s^2S zF;}muc6ij9ud(Ar^QtCyypAwKLIHx-Vj0_lK~XZb|)ZU$I4JAV{Uaa-Mox`1K&adJHxZE?KRKX(|{vF+u zvn!9e1tzd@;2?*?XN+8tXM;2Fs!QnL&|15a%afH2?ig5>BytY*8#`U?&FWg7c-BLh2xFQR}Fa&uL6CE$0TmKp+j5vxcDLYP6tVPyANq7 zVHh6BpNRx$8394k0sn^QG5s$^F1;l zMe>1()#*z1FJ6CN%J*x0X(L$`?Eq$$rTxhBcOP1kpVGHlFKdWp5i}l`J0=w^fg^m_@sNpD z=uspF+gi?o_<>9k_N#t|UW~J4&Z&6Kxiw!uy2d0C4pgN?P+gvsq&{yCp8KjkL|f-V zA8obO_Is`dc%d`rbzmpj9(?({otMd1zPiWD*NnPgRlJz5AZbkP(cWmg2=aXhewIRs z*;^OIJ)V`p_kjCz*^Bq6o#~S5<@l>C2G1$2n3?x3sXRNUM)X^+C6+y(p6srl zz4O{ptY5ZjYk?exXWCnB9yw~T?M%D|50%h|j+P{K)9uw6Cv8|jU!fUuuIcKVlZ;lH zHbFL#+2Gh6Cwv^~Rz)+?gY)S>r(qX-@_0D8q~?fHl5S0Wk;lsA^R}ebG>SFkE)32m zRjXU@F>AQ;i0N^>gB-SaHXmGP4(+viz_%j9 z-Is!U6!AD5TM{jq2eE>@JLW{5L^chJb|iU~L|1%E!To_U8k@9wR;U(vEw``4+*l4) zCl3$3fYXO7N_cPwo6AS?I&HI?vtDLw%<{zG$an>YH3E3{Rho4MUr?pA{BV}C)y$J< zjI7wEG`4$9eiyGB`={?A#hRq!E#eWaeW+jNA7gl1(M^1kL&Vot>iq5og9%+$*3NFU z{iWWPF_ekLD)|_$jaWUBuL72Ms@1XZPw;oZrE)LjIKD$CFxUsrHN!nL-ZGch69Y?I zH!?Fa28x5~Zy>0&v`$S3YR-~=X`=MoK((1CD>eqE^@N<3A`8tzMI15_}jl?y28yfq{ zy`pD$%YSC3IfoqEhyROyDZM0iZz~#`wTi})gZo=vFziKV)CM-rFgVe0b0&Y$?>T0F zW&If4ZDQVbruiw01JU$YA*35v!PEw;>7TN{c}8Y}zleM1Mt{L^RQ^4cwS0TlPXAV` zr)(7VpZAYZ_VbkG%I~uOy4nj0Z?C_evS|B3`@gGw38%y39?I>lIlplS9yZ&)0CMY;w$Kc?<8Lk-9RQG zml>Bkav9_F0`@tDILVB8@XOlKSr5qK9f;XG*#9E$^)NP+_8hvW0~uSF?o|YL?j?RflZ-5 z*&6M{+h%{G=NOZS11yoZWJI{s`=V-_`VHNmvM0VaS-{TM@A9V(-`Qpln7O<^`Yyi*v&tg6z+_{k+*I!Q=H{50ORj%0I%{2zPAKcZ?t~^fq zIH!nnkO$>nZZ(UQ^M>0w^kA$c49rfW_kpbDHR+9|S(At{x_HICu%-1)<(6YpoL1v> z%4C}r+n`AJ=iO~fT=n7fqD(t0+Y7yg@t|zj71#Px&FhLcsr5xGDQ0(wy59R$vvXu| zsXQ)aANz$K#L~Eo#=aGgBfPdoc=C2gG1Z6YU0==eyg0jD(XJ6e_+L~3U?X!lT-Nnv zL6>1#)p9&#x!tYSGt$lY<=#x$ks7}4S>V@TonqcOM9k?vd)~DJ)U)nnd(ax-kgO5$ zqOxn);4fu3@6rz6In1}A`R>5K`wGX8`&%>IJ2xo*q$pl1ad>Ow%({6=zN2#p**Bz= zH}iYmd#Uv{pYrj$^yB+G@}-Ky6t#F9Cd~L>WH(f+NsNXcqV)j&+HHD*o!g4h)QjRW z^`U>O2mM>`dmG+<$}E+#xvr@qJ}hIUb6b}AUenoVOgtXW?^G7=4dyN98NE8{e8`?2 zwm6d+98Pcg4D`gIrq6aHmG|wIm@{`2#e3GLw1)K=TC$*C$FM1#N`^0q_8C{%CLVMi zVYaU0UHn_E$+rPhK84+q;#Y$f}tSPJRVEW{~}bLW^6Z*IMJrKp~mG4|F@HD^ui9C~nn z(Pp;NFnf>T4xXo?op}Z)2gj;n6OW3>9jydb6_J8z&pX7LDVWM_zVGpX#_UW&0#siY zJvnXASnjWQj0*j<{)Ck|Xb^boF8v;Hu-b03c$D=ic_rjxqQ1YBbmkU$QkOxko7J;} z52tJm_VxrXK3BwMXg{wvao)>$4nOF!o;Se=e6B3J^QK~m?e+v}sm2ERo0%q$B@K~7 zz|4_Q|7J{J%vZy}2bO!vawlCq)a{~&emUryl{|7ZYyZ1>e&xKe+W-DcpT2&Pu!C7N zr>{WDFP*XsRu>Ke?$BWob?^oFoLb=gVZ$f?aq1!!+{lUWoIhPPT(!cZcrtOczem10 zq8IfAHk_Z-OX&KNtJe06T3U*?j`XQVCGa-cGS>bgdJT%l?1>Gq3UH@1Ks!#7J(e9u zvs|}mKSVys2aV1TkG!h3Pa^+Bt)8-KS}-0Np*sH)w9G36$?rn7Jj)fjCC3K&ptH@E zV+Em*qzy@r9(+~8uPa-8yxk&I{5Rx)o&L($a<`qgy=Z~$@IoZV{`>ZkHFka+YKMNM&dNKTHBss(4dQy-P&yZsvd@n7qSQ!=3hX8$AkCK zVg4@G=1B9OEvo)xeh71&k8dcboC{bz(wcY<$$T(!4zTiOXzO~8TNX6~hor_+SSnd4 z)=Hcj;?DV?Tw#8188dLQaY+sA7roZs)^w=+d01WeLAho4o0CDIrs_1{!_Z#dM>(^V z#xLFj@slif->Pb~n6F=;P`?*+j=*Xh-bZ<+=|)>y*63bjh8YqyvEx(heJpF zR`H!Yur?f=?bpT%F!Q$8Frk+=S|oYuA+Djo$LfZ+JvU?Ggk{R0gd#PEiXniqe^aCFb;;pv_TdGS$m-t&8X(y}=1 z>>4020G31hchRGim(YR>$Jhm(80(wSiID%m+EV48lhLu%RCE!i$d0mF>J}?@)?uRu zCO;1px<;Bszav7yQXqd$30Zd^MHV;b%PtEEN3u4paTSk8kJN(a>qu@<@pT<`)sf9w zUD>IDxrPb5quuk2k|8Hn2%K`31~36P{)MQjQ&wZI zsAOpz)cF~C_@dbQI>yfZ9`VEC&d%O$eS$5ITH8M2eEj7e*uo)n5ByETSO*-HF`sj3 z?Tf>c$__eKiLt;u9*k#2)|>99oib#?K6={y?Zu9@{{;6(){L3;W%J-0JTbHpI%R#* zDGt3dl$voK;ROFNZ&kXenxoE{lHq7Q49UXl>3L@Lm)sc^7PH_71Q_kh5@4CzE57<|hHD4k0{9wML>h(iRmaChzB>Et4 zMixO;McgfY0O@8l6D{R+`^sxsRfD&ncVjIt`~yWvWYGopOfiS>K%@h)*ox5u`e<`% zAiSxH#sZS@GYuP!PAa1-xWm0x%`_~(GQ69r*fsXWdNotP(SDZe^1iqftKU`4eOIcf z*kk^J>i&WTPIumm(Syo)EEW_;H>na8&LM)sFG5OkAG16?pnJ?)Q>4t-hdqA9rsa^d zInQ}J@LSg207<|qOe#aFagbz>uCJPB{JI`sF@4WW|3F#?Kj6WRXr9=fM0)s{*1E77a8|>;UWbTJNU=VtihrZrw|HDU& z+FtF>VYw-blS1E?=Ntsa$J010gX6rfNAi8nmC>ec0hT_V_x1fLa*`HlS2hhYT8!6n zB~9>by-%VRJQc5>mM788Q;wI?DmWM9T*@IgIxlSy-so)HM-qzFOX;|VlJheI(o^-d1sK|M-O&=<0N^c?`>14prmc5b_msw5?`>@BV>~|y`&RkcRHAD)b z?S6y!fYn~*l|!x_Sz*-otb88w@W@jIt13|3E%trAfcMYsdU1TdU%$2Yf&E_U2}*idk9( z-_`b}>euphb!;OunoD(R)7F9<|8Dc|Cao%gF9W>Iss{PjwRWZ%S@7*$6weUZ_w=wvOEex`PfsE`ne4h*)=KcRg z!Qx*@S>2q+bIjEdO++LSX^_?OJcgvZJKp===C+yX&ze3#8_pSb-C@6lvy#)gB6Xte z@b>>x!`siB@5YLj?{DqH95IN_f9;QDy79;g$`R|I2)!MZeQ$GJTgN?U7H`txLe}fa z6y(y1V+FwXx#P4k^eyU|DZmcl3SSwpwSH4m5 zz3h#A!eUVJaKu#FiB)pej?DY>4AWm^x%;%?gIZ0p1$~%6dRXbC78Vay9xDD}DTVn7 ziXMw%Ct1<_Ugnw43~{9VaNFw|r;Q?(aBf0Z5!GW~)tCDk-`iMfM_wIS>{F0+g8 zx8K_=QrTfq!o9X)@_xJCV_wF+>7_3%`{O@vnu+E#%i-nM*9^PlZvAudt7u8Kgw-(W zkZ-pu5!iP7i;PCo{D%qJTx0c@L@Qh$vfqvUzryZsu{PLY@+(goG+IMt97QtZ?5W~y z?7h>iz4wm>6{oZ7p9&AG3O~e(S6Q9&4*U08EDIU$yvv>;2hsN06f<3u{k}H!ab+5d zIgs7+(+~o>e2l|(I>kiFobtVmxiq80Hka6K+jQI`j@z>6BkVE^tThX#lC9=&S! zp#wMV8XTBpgpOFuVKFBm0j&nfjTupG`+*KlG@LGP`Hy$o|Ln&&@tOI~YC8A8&iYUOj4n z+%@~y?A+uWzi+;5*I@g>#|}L*d*rgoNB2+f-aR|8x$WIGH<-QbmQ7cW`YvA{^`Et9 ojlSvX0@h7ek0x!eZ@Sv?dCSc7%=Ff++wZyK!3T%`I8}fD|1;F5SO5S3