From 7dd7bc06a179f702b736bfcee46679116b9f9ba5 Mon Sep 17 00:00:00 2001 From: suloku Date: Mon, 14 Sep 2015 01:00:51 +0200 Subject: [PATCH 1/7] Tid from Homebrew Launcher Mod My current homebrew launcher mod stores the u64 tid in /svdt/tid.bin when launching an app with title launcher selection who's smdh name is "svdt". This modification allows to start svdt with the selected title. Why not using argv[1]? Because even though it works fine with netloading, I can't manage to set argv[1] even with the netloader code. --- source/main.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/source/main.c b/source/main.c index f24ea17..6937352 100644 --- a/source/main.c +++ b/source/main.c @@ -530,6 +530,7 @@ int main() FSUSER_CreateDirectory(&sdmcFsHandle,sdmcArchive,FS_makePath(PATH_CHAR,"/svdt")); u64 tid; + u64 tid2 = 0; int titleTitles_available; char destPath[MAX_PATH_LENGTH]; char tempStr[16] = {0}; @@ -543,6 +544,23 @@ int main() getTitleTitle(0x0,2,titleTitle); titleTitle_set = 1; } else { + //Fetch title from /svdt/tid.bin + FILE * pFile; + long lSize; + size_t result; + pFile = fopen ( "/svdt/tid.bin" , "rb" ); + if (pFile!=NULL) { + fseek (pFile , 0 , SEEK_END); + lSize = ftell (pFile); + rewind (pFile); + result = fread (&tid2,1,sizeof(tid2),pFile); + if (result == lSize) { + fclose (pFile); + //Make sure we can't load this again without going trough HBL + remove("/svdt/tid.bin"); + } + } + fclose (pFile); secureGameFromFilesystem(); getSecureValue(); } @@ -705,8 +723,15 @@ int main() gotoxy(0,10); int i; for (i=0;i Date: Mon, 14 Sep 2015 10:14:49 +0200 Subject: [PATCH 2/7] Applied meladroit's suggestions --- source/main.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/main.c b/source/main.c index 6937352..ef8f23e 100644 --- a/source/main.c +++ b/source/main.c @@ -724,13 +724,20 @@ int main() int i; for (i=0;ithisTitle == tid2){ + titleTitle_set = i; + getTitleTitle(tid2, mediatype, titleTitle); + break; + } + currentTitle = currentTitle->nextTitle; + i++; } - }else{ - nthTitleInList(titleTitle_set,mediatype,titleTitle,&tid); } + if (!titleTitle_set) + nthTitleInList(titleTitle_set,mediatype,titleTitle,&tid); AM_GetTitleProductCode(mediatype,tid,productCodeBuffer); strncpy(productCode,productCodeBuffer,9); gotoxy(1,10); From e44f5c4839c5206169a7b7578e6aae2d47ecd5f7 Mon Sep 17 00:00:00 2001 From: suloku Date: Mon, 14 Sep 2015 23:16:10 +0200 Subject: [PATCH 3/7] Update main.c Use relative paths --- source/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/main.c b/source/main.c index ef8f23e..a3500df 100644 --- a/source/main.c +++ b/source/main.c @@ -525,7 +525,7 @@ int checkInjectDirectory(char* path, lsDir* dir) int main() { filesystemInit(); - if (!doesFileNotExist("/3ds/svdt/no_alpha_sort",&sdmcFsHandle,sdmcArchive)) + if (!doesFileNotExist("no_alpha_sort",&sdmcFsHandle,sdmcArchive)) alphabetSort = 0; FSUSER_CreateDirectory(&sdmcFsHandle,sdmcArchive,FS_makePath(PATH_CHAR,"/svdt")); @@ -573,7 +573,7 @@ int main() hidScanInput(); - if ((hidKeysHeld() & KEY_L) != doesFileNotExist("/3ds/svdt/disable_auto_backups",&sdmcFsHandle,sdmcArchive)) + if ((hidKeysHeld() & KEY_L) != doesFileNotExist("disable_auto_backups",&sdmcFsHandle,sdmcArchive)) { // always back up the data if one and only one of two conditions is met: // no disable_auto_backups file (cannot be empty) From a494063c7b8de865f95023c8bba235b641148853 Mon Sep 17 00:00:00 2001 From: suloku Date: Mon, 14 Sep 2015 23:17:22 +0200 Subject: [PATCH 4/7] Update secure_values.c Use relative path --- source/secure_values.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/secure_values.c b/source/secure_values.c index 53b5831..25957b9 100644 --- a/source/secure_values.c +++ b/source/secure_values.c @@ -26,7 +26,7 @@ char configProductCode[9] = {0}; const char* const POKERW_SVPATH = "/00slot00/00main.dat"; const char* const customSecurePath = "/svdt_sv_data"; -const char* const secureConfigPath = "/3ds/svdt/asr.dat"; +const char* const secureConfigPath = "asr.dat"; const char* const secureConfigBasename = "asr.dat"; int isSecureFile(const char* destPath) From cb587be13e5d9c5d72ce96dfcc70e161a8fea36e Mon Sep 17 00:00:00 2001 From: suloku Date: Tue, 15 Sep 2015 22:16:37 +0200 Subject: [PATCH 5/7] - asr.dat --> added Super Smash Bros. (Demo) - filesystem.c and filesystem.h --> added file_exist() with standard C functions since doesFileNotExist() doesn't work with relative paths. - secure_values.c --> asr.dat from relative path. Also corrected Super Smash Bros. files (they are inside /save_data/ folder) - main.c --> changed flag checks to file_exist() to use relative paths --> forgot to assing tid after fetching from tid.bin --> Print product code and tid on screen on title selector since this is useful information otherwise difficult to obtain (demos don't have a manual from where to obtain the product code for example) --- Makefile | 2 +- asr.dat | 6 ++-- source/filesystem.c | 27 ++++++++++++-- source/filesystem.h | 3 +- source/main.c | 81 ++++++++++++++++++++++++------------------ source/secure_values.c | 9 ++--- 6 files changed, 83 insertions(+), 45 deletions(-) diff --git a/Makefile b/Makefile index cb9e3a5..329c7a0 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ LIBS := -lctru -lm -lz # list of directories containing libraries, this must be the top level containing # include and lib #--------------------------------------------------------------------------------- -LIBDIRS := $(DEVKITPRO)/ctrulib/libctru $(DEVKITPRO)/portlibs/armv6k +LIBDIRS := $(DEVKITPRO)/ctrulib/libctru $(DEVKITPRO)/portlibs/armv6k $(CTRULIB) #--------------------------------------------------------------------------------- diff --git a/asr.dat b/asr.dat index ceb434b..a095b69 100644 --- a/asr.dat +++ b/asr.dat @@ -1,6 +1,8 @@ CTR-P-EGD /garden.dat 00000000 -CTR-P-NXC /account_data.bin 00000010 -CTR-P-NXC /system_data.bin 00000010 +CTR-P-NXC /save_data/account_data.bin 00000010 +CTR-P-NXC /save_data/system_data.bin 00000010 +CTR-T-AXC /save_data/account_data.bin 00000010 +CTR-T-AXC /save_data/system_data.bin 00000010 CTR-P-EKJ /main 00065400 CTR-P-EK2 /main 00065400 CTR-P-ECL /main 00075e00 diff --git a/source/filesystem.c b/source/filesystem.c index 4855bf8..219fdba 100644 --- a/source/filesystem.c +++ b/source/filesystem.c @@ -1,5 +1,6 @@ -#include -#include +#include +#include +#include #include <3ds.h> @@ -285,3 +286,25 @@ Result doesFileNotExist(const char* filename, Handle* fsHandle, FS_archive archi else return -1; } + +int file_exist(const char * filename) +{ + FILE * pFile; + long lSize; + char * buffer; + size_t result; + + pFile = fopen ( filename , "rb" ); + if (pFile==NULL) return 0; + fseek (pFile , 0 , SEEK_END); + lSize = ftell (pFile); + rewind (pFile); + buffer = (char*) malloc (sizeof(char)*lSize); + if (buffer == NULL) return 0; + result = fread (buffer,1,lSize,pFile); + if (result != lSize) return 0; + fclose (pFile); + free (buffer); + if (lSize > 0) return 1; + return 0; +} diff --git a/source/filesystem.h b/source/filesystem.h index 1f86b36..f0bd6be 100644 --- a/source/filesystem.h +++ b/source/filesystem.h @@ -16,5 +16,6 @@ u64 sizeFile(char* path, FS_archive* archive, Handle* fsHandle); Result readBytesFromSaveFile(const char* filename, u64 offset, u8* buffer, u32 size); Result writeBytesToSaveFile(const char* filename, u64 offset, u8* buffer, u32 size); Result getSaveGameFileSize(const char* filename, u64* size); -Result doesFileNotExist(const char* filename, Handle* fsHandle, FS_archive archive); +Result doesFileNotExist(const char* filename, Handle* fsHandle, FS_archive archive); +int file_exist (const char *filename); #endif diff --git a/source/main.c b/source/main.c index a3500df..a76516a 100644 --- a/source/main.c +++ b/source/main.c @@ -525,8 +525,10 @@ int checkInjectDirectory(char* path, lsDir* dir) int main() { filesystemInit(); - if (!doesFileNotExist("no_alpha_sort",&sdmcFsHandle,sdmcArchive)) + //if (!doesFileNotExist("/3ds/svdt/no_alpha_sort",&sdmcFsHandle,sdmcArchive)) + if (file_exist("no_alpha_sort")) alphabetSort = 0; + FSUSER_CreateDirectory(&sdmcFsHandle,sdmcArchive,FS_makePath(PATH_CHAR,"/svdt")); u64 tid; @@ -544,23 +546,23 @@ int main() getTitleTitle(0x0,2,titleTitle); titleTitle_set = 1; } else { - //Fetch title from /svdt/tid.bin - FILE * pFile; - long lSize; - size_t result; - pFile = fopen ( "/svdt/tid.bin" , "rb" ); - if (pFile!=NULL) { - fseek (pFile , 0 , SEEK_END); - lSize = ftell (pFile); - rewind (pFile); - result = fread (&tid2,1,sizeof(tid2),pFile); - if (result == lSize) { - fclose (pFile); - //Make sure we can't load this again without going trough HBL - remove("/svdt/tid.bin"); - } - } - fclose (pFile); + //Fetch title from /svdt/tid.bin + FILE * pFile; + long lSize; + size_t result; + pFile = fopen ( "/svdt/tid.bin" , "rb" ); + if (pFile!=NULL) { + fseek (pFile , 0 , SEEK_END); + lSize = ftell (pFile); + rewind (pFile); + result = fread (&tid2,1,sizeof(tid2),pFile); + if (result == lSize) { + fclose (pFile); + //Make sure we can't load this again without going trough HBL + remove("/svdt/tid.bin"); + } + } + fclose (pFile); secureGameFromFilesystem(); getSecureValue(); } @@ -573,7 +575,8 @@ int main() hidScanInput(); - if ((hidKeysHeld() & KEY_L) != doesFileNotExist("disable_auto_backups",&sdmcFsHandle,sdmcArchive)) + //if ((hidKeysHeld() & KEY_L) != doesFileNotExist("/3ds/svdt/disable_auto_backups",&sdmcFsHandle,sdmcArchive)) + if ((hidKeysHeld() & KEY_L) == file_exist("disable_auto_backups")) { // always back up the data if one and only one of two conditions is met: // no disable_auto_backups file (cannot be empty) @@ -723,22 +726,23 @@ int main() gotoxy(0,10); int i; for (i=0;ithisTitle == tid2){ - titleTitle_set = i; - getTitleTitle(tid2, mediatype, titleTitle); - break; - } - currentTitle = currentTitle->nextTitle; - i++; - } - } - if (!titleTitle_set) - nthTitleInList(titleTitle_set,mediatype,titleTitle,&tid); - AM_GetTitleProductCode(mediatype,tid,productCodeBuffer); + if (tid2 != 0){ + lsTitle* currentTitle = firstTitle; + int i = 0; + while(currentTitle != NULL){ + if (currentTitle->thisTitle == tid2){ + titleTitle_set = i; + getTitleTitle(tid2, mediatype, titleTitle); + tid = tid2; + break; + } + currentTitle = currentTitle->nextTitle; + i++; + } + } + if (!titleTitle_set) + nthTitleInList(titleTitle_set,mediatype,titleTitle,&tid); + AM_GetTitleProductCode(mediatype,tid,productCodeBuffer); strncpy(productCode,productCodeBuffer,9); gotoxy(1,10); printf("<"); @@ -747,6 +751,10 @@ int main() gotoxy((BOTTOM_WIDTH-strlen(titleTitle))/2,10); textcolour(NEONGREEN); printf(titleTitle); + gotoxy(0,29); + textcolour(WHITE); + printf(productCode); + printf(" - %llx", tid); gotoxy(0,12); textcolour(SALMON); wordwrap("Target app is not on gamecard. Fetching target app titles automatically is not implemented for NAND/SD apps. Use left/right on D-pad with the A button to select the correct target app name. Press B to skip.",BOTTOM_WIDTH); @@ -793,6 +801,9 @@ int main() textcolour(WHITE); AM_GetTitleProductCode(mediatype,tid,productCodeBuffer); strncpy(productCode,productCodeBuffer,9); + gotoxy(0,29); + printf(productCode); + printf(" - %llx", tid); } if(hidKeysDown() & KEY_A) { diff --git a/source/secure_values.c b/source/secure_values.c index 25957b9..8f097dc 100644 --- a/source/secure_values.c +++ b/source/secure_values.c @@ -15,7 +15,7 @@ u8 secureValue[SECURE_VALUE_SIZE] = {0}; secureGame whichSecureGame = SECURE_UNKNOWN; const u32 const secureOffsets[PRECONF_GAMES] = {ACNL_OFFSET, SSB_OFFSET, POKETORU_OFFSET, POKEXY_OFFSET, POKEXY_OFFSET, POKEORAS_OFFSET, POKEORAS_OFFSET}; -const char const secureFilenames[PRECONF_GAMES][MAX_PATH_LENGTH] = {"/garden.dat", "/account_data.bin", "/savedata.bin", "/main", "/main", "/main", "/main"}; +const char const secureFilenames[PRECONF_GAMES][MAX_PATH_LENGTH] = {"/garden.dat", "/save_data/account_data.bin", "/save_data/savedata.bin", "/main", "/main", "/main", "/main"}; const char const secureProductCodes[PRECONF_GAMES][16] = {"CTR-P-EGD", "CTR-P-NXC", "CTR-N-KRX", "CTR-P-EKJ", "CTR-P-EK2", @@ -103,7 +103,8 @@ Result checkCustomSecureGame() Result checkSecureConfig() { - return doesFileNotExist(secureConfigPath,&sdmcFsHandle,sdmcArchive); + //return doesFileNotExist(secureConfigPath,&sdmcFsHandle,sdmcArchive); + return file_exist(secureConfigPath); } void secureGameFromProductCode(const char* productCode) @@ -176,9 +177,9 @@ void secureGameFromFilesystem() } // from here, the guesses are much less safe // (there's a reason we override these if we can get to the target title prompt) - if(!getSaveGameFileSize("/account_data.bin",&size)) + if(!getSaveGameFileSize("/save_data/account_data.bin",&size)) { - if(!getSaveGameFileSize("/system_data.bin",&size)) + if(!getSaveGameFileSize("/save_data/system_data.bin",&size)) { whichSecureGame = SECURE_SSB; return; From 1a20ae88b54d8e9509341adda84154595dcee34f Mon Sep 17 00:00:00 2001 From: suloku Date: Tue, 15 Sep 2015 22:34:27 +0200 Subject: [PATCH 6/7] Forgot my function works the other way around --- source/secure_values.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/secure_values.c b/source/secure_values.c index 8f097dc..21b4f28 100644 --- a/source/secure_values.c +++ b/source/secure_values.c @@ -104,7 +104,7 @@ Result checkCustomSecureGame() Result checkSecureConfig() { //return doesFileNotExist(secureConfigPath,&sdmcFsHandle,sdmcArchive); - return file_exist(secureConfigPath); + return !file_exist(secureConfigPath); } void secureGameFromProductCode(const char* productCode) From b90893648202bd885317386f29fdff42197b361f Mon Sep 17 00:00:00 2001 From: suloku Date: Wed, 16 Sep 2015 00:20:39 +0200 Subject: [PATCH 7/7] - Forgot to change a doesFileNotExist call - Changed logic for file_exist() to not use double negation, which is confusing. - Binary added --- source/main.c | 2 +- source/secure_values.c | 15 ++++++++------- svdt.3dsx | Bin 342308 -> 343396 bytes 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/source/main.c b/source/main.c index a76516a..4e8b847 100644 --- a/source/main.c +++ b/source/main.c @@ -687,7 +687,7 @@ int main() consoleSelect(&titleBar); textcolour(TEAL); - printf("svdt 0.10, meladroit/willidleaway\n"); + printf("svdt 0.10.1, meladroit/willidleaway/suloku\n"); printf("a hacked-together save data explorer/manager\n"); gotoxy(CURSOR_WIDTH,2); textcolour(GREY); diff --git a/source/secure_values.c b/source/secure_values.c index 21b4f28..6b28cf7 100644 --- a/source/secure_values.c +++ b/source/secure_values.c @@ -78,7 +78,7 @@ int isSecureFile2(const char* destPath, const char* productCode) { if (!strncmp(productCode,pokeRumbleWorldCode,9)) return (!strcmp(destPath,POKERW_SVPATH)); - if(checkSecureConfig()) + if(!checkSecureConfig()) return -1; if(!secureValueSet) return -1; @@ -98,13 +98,14 @@ int isSecureFile2(const char* destPath, const char* productCode) Result checkCustomSecureGame() { - return doesFileNotExist(customSecurePath,&sdmcFsHandle,sdmcArchive); + //return doesFileNotExist(customSecurePath,&sdmcFsHandle,sdmcArchive); + return file_exist(customSecurePath); } Result checkSecureConfig() { //return doesFileNotExist(secureConfigPath,&sdmcFsHandle,sdmcArchive); - return !file_exist(secureConfigPath); + return file_exist(secureConfigPath); } void secureGameFromProductCode(const char* productCode) @@ -118,7 +119,7 @@ void secureGameFromProductCode(const char* productCode) return; } // ideally we actually have asr.dat in /3ds/svdt - if(!checkSecureConfig()) + if(checkSecureConfig()) { // and ideally we actually have the product code in there ... FILE* config = fopen(secureConfigBasename,"rb"); @@ -151,7 +152,7 @@ void secureGameFromProductCode(const char* productCode) } } // custom specifier does not take precedence over having the actual product code - if(!checkCustomSecureGame()) + if(checkCustomSecureGame()) { whichSecureGame = SECURE_EMERGENCY; return; @@ -164,7 +165,7 @@ void secureGameFromFilesystem() u64 size = 0; secureValueSet = 0; // custom specifier absolutely takes precedence over these guesses - if(!checkCustomSecureGame()) + if(checkCustomSecureGame()) { whichSecureGame = SECURE_EMERGENCY; return; @@ -293,7 +294,7 @@ Result getSecureValue2(const char* productCode) { if (!strncmp(productCode,pokeRumbleWorldCode,9)) return getPokeRumbleSecureValue(); - if(checkSecureConfig()) + if(!checkSecureConfig()) return -1; //printf("\nopening asr.dat\n"); FILE* config = fopen(secureConfigBasename,"rb"); diff --git a/svdt.3dsx b/svdt.3dsx index ace2d6ab67a1a7397d2b3629f7f771344f9cdb63..258889bb6b901bd63eb401ae033bc93a8236d796 100644 GIT binary patch delta 43862 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 delta 42706 zcmc${4S0-4_dkBm?B;DnY+l8RWCf81u_7WxBUIBg)z}j68bOefYO1QLYC}*}QB1f| zWZP=%QT3#vR=u>Ts=leJs;URgX5E@5swqmU$nSIRy_YmR-{<*V*Z=$fH3Uh)dEc<^2v6mMF=o`>MBhaP#xtxw>KI*4uhNxWNI5$2V^ zpKdEMyiELbJ2AxSbHMCYWtGOkVl1w* zXk1TgxY}qD=bOOCnnkv661SVhYTtyoW6>V@?12|S7>nvZ1ddeL=SXo?UE#iJO^%Dc zal9+!_Upx;G>cJwy@Ga8VRYc{TEV5!;w`@zk9bG@qWPau;)-9d_2GN(?GOnQi91U>Nx0KJb< zU*(TD;S5^&bd>L-@h}_hF4U`Yem`5J^o$P@PoiGbDdpIm#B1|YVs6hc!{pggt+!-% zI-e68d&cnc+2UZ&$grW~q*`Cgaz!#9QzVN(_=#d2C$9C3~`l@ zh&MCZZ7PugL<>RmEr>ov25H3CDwO?N+%3>hRiJ&qHPzZKjZW=RD+x5zwH^X(2c9Y` zLr9iS0#RL4P}f@2wIwGO1XkD#F@;?bffoqIgJ1;+NcA0_l4|WaVs|f7*jkX8oAg*o zj;QHnvK1ps6+2ZZOSHIK>?~&>^tkXYMGG}LRqRv}JIkd&?AgGRRI?D0MSG-z|F3zP z@>1>2rx4Oepgg#aK&NUIgZ5S5^C`S1hKg7p5zfDuB6dbZCheFi)#e#X6)NZl`TeEh zDkCh4T!{~cpbwgPXcjCCl}Tp1GaUK8&j~}Dgn%(%l?BKFEcX`~ZA^T_6fvnyWc*?< z^@rExSCqB6Sa~s=QUwQp(aVP zyKdD~bi1bYm{O^!`pPa!`wBR!Bac-1T9#I|kVJJ0skqu-T3>B6mf92}Je2NcLv08K zqrPs#SUH(G^sP-06KVX-TSd5&d#hwjO{^O^b?4niDKZ zsds_(!0iI$0Y(5SArG7C4F2SBQ@yXv6F0o_WKerFzmIXzOR z+2EE{pe0jDr&vpbK!=duCG{&+y)g|+V)m<>iK`QtyLBPVeyGa`$NvW`?Gdd%e9d+p z{8g~9whb}tfNFNYa$bB~Oluo$dlXZbZ)&l!7-)ZUaaFhl!>OQHp$1QZVj2%GazzKV z`kD@}*-*|`P>jWbHdsGV&?7b8kTD!p1wTy_4;%())Ui)AXy*qF4YnH6AQ^(H(avrS zdPX}95eXg!4grno@=GEV6b?<+OJ6%f%teYpYasNE;bwP*YYGg#h1~h$2KELa?w)PSW&Em z0LEzKz3zLk2s?10JF0G6o%A7#Eh~Eg&uU)V$R#OwH zlBSz*E&U}o05qyvZ?0h|Kl0+vEtU)T%H_zMuH@vMIm3=rqQV>MSZ1M!Aw zQZ4MShMIRBajY?GauNR%@!t?1gZLH1;SFoD5Wj@@FNhCBybkemh!2pmN|j%ca3RqL z88wJkBA$r&&xm8TS4ZLIC-joYLgt;vh4!nR|2Fy5TgA#&a5}Yp* zVq#1S|8g4?q*iAxn%TqQ@Aq^P(_=E@|G?Bhwi^o@t9x-@H4U5^!ll}s7WAAIZaf|B zpuW!eOI(Nvv#myj-WJS#cFaXE4H_?cv)%b!XZM_R3dN72$>clVN9gvOUTUW%8{LkD z*iV}2Ha9qG!;duA!5@=FQzNLqCf;bMp>UnXOY_6x<&JG_ds|D=KtLaW1weI?FRGij zuX-=UJ%!=sNtYpAhI)U)nD#BiFvzhxHx-mBn}9RIkN8`PtEky0G1K|eOlY+`3t4fs z5wjsRyCpQpq-WGghUQ_=>YOzbMSQG@O%@Nuc8|MxjXa;-NtQvTO(yPfu{1}Lo2~DP zwi(4+v2j6HF%xS3LR~<#?IfyVC-JYYiHv(pJbkK|bWe299`IB(i~dT5RF~q!x_dIh zD&wFu2$(2sP+CLb7O7ZiH&tA_Cno+Q^b6_m3vK2mpJqYHuc%0&-5HGmlv=Psp`}N_ zRFN4MW?DdkqsT65mR1o}x;swHjSDkerJhDonkqKNnPT1nBk~o*j6|ZWFY~3^#79e& z#HZXdUELIMCN4h63yi5Bbw<1EthrSA*d!u5C2`(b4C@rf2elFNJH-VJXyX=m5^7II zd&1j@4?D%!TL0Og*18owop=n>`acUHX_oAXv}#@BrS5u}#8lf#M}K-21Kpl+vxciO zY|`8oP8|&7s62B$`s3DIKkmBQ){G4eE&ev?W5S=^IVom<8J*YmPACI@7hpYLsaYKF z9La;Oi7TCBxbHO)*(EF*6NhSudKzEw^FN~RFQXx|V3e~UaLFVwtV?8^4Yo-ZMD}OL zkn`BydFX;xW3=}rbuZ5q8^P7%LrD$fKi$Tqzh!hg^2N@s(Y(_XaT3AI8RBNw%;K-_Zd=dN(B9zBejA*Na4dX3DNYQo{Ajs$s05eN$~n{`DuQqlIRTC>#M zBdL>F7gUkGP=4W);;1DftUJ{LlS;;^iN}858!i&MjpC)P#IkNNd`N4tvs+x`UbqRV z!tSCI1v(F)c_J6Hq6M>)EkfMvHY|E>gj73#6o>uWbtr5;t&Ga-PFhy6PIlLr8DeI_ z!Au)$5W6F1dyu>fuAU;Bp`8Xyr2ZI^n~h#lI9f`rvY=JzfVx3leuTzL69M7wR#I!_HuLgCAoK^J~I*A;H zWLc=7`PJ2^i|UY;+nqa5&%c`6UAzDtP>6wHwL5F`#Qwx3{GL`Kvquu|)>fPg${OhWzQqA(U;!3j&ZW$)}`^WK_Q^hp@ zlxP{m48-+l3pv=xhOSQ1-wrUJ1z0mp9QKdl`M%z_dD%G~MQp2sT&a5;P;FUO4 z%xs=%N~S6_cEsj0uphv_0SAStdR z)InQXTJp6=d^O^+>tG>h)#rdi0R37osq;FqEnx288#+wlKCnF_iEMWrzS>Y*f}*tZ zvOt5sJucO#aVV+~_}@YQE$FGwsLX!Q(+a~w?|NL!Z86M7HRhrJ4xuk+A$|m*FFK7D zAcw$WD_FEZbz4xJ79X(~Wfh3i;)CM*5Fen$cOy<~55hYTr?m&gcOc$bi@%4sFT^#w z)A_DmhIiJO6u<4=Q}R_o+M%$VlS(+Jkm{R4`ts*$EVVoCY`K$Wy`qIf@e8_G)$-=Glf z>slVgdm)de*N-NNxk2%K*dJnB(CmOYf4G+iB)mLHBn2n%>O3(eI4PwnSgM^Kf@O(h zbj`&WcoK20#q$wIm$)K;=TH`dd|?KuHrP+9eF(5FNSq0d=br_OfDp_xkoZklaRiRE zsNdhe(x4s?8Ii7p;irX&w2jP726 zqNfnjaL&mSOF~VNv9OBC$o93sYAjzU{SiL^l6fHgIaurujR|W8P5J>HqRtsub(pcm z{6pLfjZ_B{*^MupJsmGt0puJlfX}DvrL%xTu%{hJ*CX!#G?a^QDPR*|7l77oxxm*0 z%z$Ko6_A^jbK>g(IiJr$deZfry!^w+R!|u!Yc(U6H$vgs^7gy~=Iu#~E zjU?P$Qol4@J!K#~ogjt46^2YKRfwKUjOb<*i0GDG1CiqklL_onTt(}sCql*emT^&s z!rYF9&J3quX-Zb*hd7o#&aF`RJ1twa91DC-iF-vxGb1hd?a2FA%lA8(v@+pZ=!^Ua zR^sVloM1E8m`vLz3|Br3y)+v%3eU8G}&|PGl;? znWUpZ>0gNX88iF+;5w*P7e4)xnA@s#Q|A8)5nEctbnFerWA?i*O^A6o3jUz2hly!= zbg9w`jIOpC-;~2UArLP*%3o6wX?RPck|fIcYfzFYvuVkq5MgK?)6Ny@Rxg#Dhm!5l z5Nd=!(o}jsN)KtB5C~%>m5^$vb8ekUcKWj?L}P?8)L{@4n5QdMULFR!V>q zokdEYmTkbE&L{nG7NC<>R1dTWghkbEmgUp?yv@8wf_M>`GAb-N1+m= zePUTkSgSX^q?&;_s}%p#)k>muwfjg6vVJc1r7UJgL|WhZe2ka)vhVz$-XOJL=05`$ zQx6$?dWr1RN#1RMMk~Hd?bW|;uDgTM3l1n8tvQ0phEz%|`w{UzUhbn=@|k*XcZ(^X zT8cHM^IN@0>z9<)A%6#&B1C8<5a ztov_6Zkjtj5MiPgZ=C=CL43&HD)cb)RP0GN4*egvEns8(`2lYHp#ft21K7V#5??-G z;x{IWa}Pw?$}(`13Mc?%0g?gXfcl4UN&~0>Yy!-I7XDjU4ElV46_5xB2TBIPliDGtoCLb`d{LA!jcn_FK-Se1E0EYl40F{7hzyZJxz*fLs01ef?W3kkq zBMv{@6GoFT8SYOp^^Qo zwIMtZ#p$S!ic@9AMy;R?RE4BR5ifNMnrbaoQjP98fdz~BVR2#K1l`%B_H)FvVF_Ws zP!`;XM<4SgogS6%92VK~RFkY!NslZq;WKci4R!T-)k_)(7y#Ie4or>5x&SiLK`c4G zI?%u&B5lRm_7g8={3Mj{M0*P_edoob?{4AM<4;ypsW%p?JcyRcGc4^G)c6T}iUdC+ zt`B^qIr5CCI|7gzFNQs`Jtz;+d`%n@E#g&S%8ci8n8?U9_5YN+*PP`4#^5C8Y@k#- zqAe5!rzRO?octC;SU5RUuoAQ^ffnU!6dls^`ru-qcq_BU)`QW~)4j}m9`R<7ie{@QI#Z)TQqUpS{jI4Qat4l#ei4EqDRN`nM~9?n!q1tB64tKw{d9suaL;o^PW}^ z>)Qq0XPG0g_#7degQLXK!R=!@q9jeKs;bcy{>Y7HQVo?PZd%73A3WSg!-(|@Ivb7~ z-EG`v6h{|K=dTz=+QQ6~M}XZ5MO_E!a)dJgwAs>Q02JU@R3D5EnBz7$Ukn^FCKw?T zMycj{kT|+9o{u&PzG!epC^)GXgg8QhBX;Tgy=2s>hZ^$PDag}H!<}?)L8IA2M>TqC z&l(0#iFCm`V&kIddq=3^mMB>W&8ekI1P*}oQps5>(sW@@tZ3v?5n>^Ixvn>{^A=Am z?--v-6|z-7)9lz1qDqL9fP|CGl`g_dmP%I=@|M3NGG83bGmK*6;xMic7Q0`Z&N~`K z{NgYlYW@O=i$O2mD;6vc=gn>r?OZ%Q=zI%Ose9~`EGQfIQcBQ?Mrd-8K+k@uf6ym) zq7T0mA5?xPI$%jm(3^Ln)0XrKT&ba9h2fGk%(Ymwo!pv)-i9(S+*#(_lBA%iccSB8 zjtd%dCwj`uF+8({So!iOVtL`^=r-|p5P3=J9SoXn62IrP3~GA^MftF$*^HOHBX$-~ zq9AhFGzyk2Q&U&mLG~+Z$}~FCNM)aRi#;U7syoD}l_BY*70N`E zq2rZ@;XjUj<<-+oq%sl87-YJq2cZyATQDQ_fl!@ZBG8sDz(G+l*>P>3207U<>=y<# z)Ky|B3B|EuDCRTuXt6>(mED_-5rLCKMfRF7Rv~`O?i84&mGaDb6(V$O$Kd3q*sr|A zPuU$>#odXQQYD>KAm$YY3;S3zZ`oYzAKM?yy>h1VT7Ntvi$r2YPFMbeC*jQL82G9G z?Eyz!SRq=C>)mpDQ!H9KKFeHm^-lhrraM81*|_#espa0&zJo~z|`@PsZUGN05oBN7JiN}LW`$9 zEtXBqn2TG1E5Fulw-8$FxmG+*Uj@oJ1uK5oegna#V(5GQd%R> zKAhr*u~Y7y{}8ti7mM?xgb{E%tq@vpX+f*k zFvMfEI33dIkss(+9`~d-i=^Hldmy<;KC%arkB0yCuS8}+d|)+I`8V;33%c_ke8uV_ z8g?JVs6*9yq!Ywm==9A5ZTTIIt1c zt&SVh2L&cJ!n$c6d%7b(?jsgGebP&{DKT+IROI#Nv7-YV0_16NUxbNs(5rLA>oel{ zJfHHTGrXBM6*2~wpLr&LwY-k~I4v@5xYlZ4umnp7yR!uj3w6(qZ2ct;gDGvM1t)Hz zNmWLaMS0a{nAHR2+e`Wi@$R#OTKYD^s`8@L0x3#-_DUDqSE$XiC>epFK7yRQkycA3 z%KLOOfN(#;0h*8gNX6M*KDY~d5T@y4Ijx!^)=S#G&OyZ&(osDE1LRMbZZ0IOMxAE? zrvQ}z92(MUOgz23ZTy?y=~?p3@pdnHW^1^{OP*JeSN)anmQz-)29_=>>N9p!W(y_PFB4AAzpMm4yHDUb=Kut$EMssPXB&`G#h3+sP z4cuY=B#^kx`VaY-5RQrje#uLCmyF_-Uy1Q0Nqp8tv94rP%xoOE(7PWzyD+tY>Vj}y z+d@+v*Y3~Sph2sW9?H1rzHj~xgBt_9M#AWQl8Q^R@&rQaecC?0$o_(zO zTlw9s z0X#r4(8XMPWL0W7T;3UIZ9pr1x(+${JFaJ-g*>#l05A(s2ykylg>oHdN|f(83s@d3 zmW_xuwf>t#3vWq;>}|u7!hD*vcD}?VWL+Dc7FLI=Fpmo&BVT~k0J4USh~zH4xG*A& zyQ|>GZl%5)5zRlPl!@{TBjdu#8!<703CI2#SsBQBng zg@i2@xGkO|R*#D3gY@FysKF+}U{|W%pTc1|Io60Q$L`D@CE{i!1pTFxYDyYueoe5L zHYuz;-b^*+U~tgL^0=Uzp2(;2z4IFHGk<)I62(eC8(xJ^v;zx<%k^o5II)G2N!h zvCfvwQ@Ob2PDK}{m}1n;`t8BUB=?0eWSU)=#DlnqpVwdIElDB5R@jYSVuT{0r_YPy zKQLNeQtCsb4%|u^=9~EYOiWu4!);7t&QIa5GO=v_cs`$ri}REC3?|}=`tu1ODT?7E z8K%o5{xB1Vi=ugdkRY!c6G;n_csrGg@2_;BE^%Lx{Ay=2-hZlV_AWsBVjx||xULhp z&DS>3=;se3Bg?2@nN_7jYV1~t*Z97EU2PWdRnt? zf;kDDh<+=c2R|$Zzm?hT4|J0rw>=UTcZcAC{Xs#yx=0*fkoP?S+$Pk!6>w}lj(fzn zZ?${yF&a`ZRjA8gMhSo8f+{>&R@cSE0n>`I0B7%>*Njw}xYUCKd8bqygdi;*w0Gd& zXNYO`@zFb>0Ad+;7qPdZNVHB|w5RZm86x4eG&Wy6_gcHqU0_)OAf=P?*U)*Cc<;4# zyjmxYzZMRAx>tluIp9TfkXov^ zmrZCbmQ)@u(TYWm^?DPam(^Yx5`YH*MJ?+yU*w{5Kh?koURkX zpSEof2mVpeo2Fp%&kePQE|6e&_;R_Sb|LP@X`cN8UYzoSVco-ln|}!pM=%#tUj4ZS z;q%_T{P>@u|9jC1Ut_`g_FjBPy;!|{5?8K@o7>ZP`+AX9K8%;wi;d+OVIRXK zFf$!*Qjt|S{41_nR4;Cprv+|7maa42CqNN2&P&A59Ygq;t76NJUM3@6$oZw zDULY)Zm6{dD3>M>hLi+_S5D(Bp&L7v2@<`d#Kyr9M+k+m*oDir02M z-|}8$(mT*yIQ?W$%8BmS^W5(xuI_FtvOciz*gr(Zo=CCjgFsd(c78C7ANWHA>^AXk zX(DcSNB>HE2nB^D;^9<#(eHy`QLsBPdZYT3!isBG$z+x`D8HiH=&4I0mP;(o?)oNE z9NgW>4`r#=6WztN-I=^CRn!%g%-)m1iysgN_e|ptUlvJwGx;Bv#iG5@Eh;BqeR;o^ z#Lbelw^A?u+TBJR+iT%}TvA1BzmG&r+Bc0qc}cvrFNPnxEDrAr3+w-YR67g9Y_I)u zr>|wPLf?!uIIZzeV6tH)}|)>7qoi=pri>H!nxJ-q*g0+TQ{ znl4B}pxpZ)!0|y3!07P+4qn8=e*^|BeNjWtAQ)Utr~Q8An?Kewap-`VS%lYtuI#Aj zaX=OeKFulLx_<;?o5im{hKn|zPA)(D=}S76R6gyCelS4 z^L>a8@fwGd{t4wfPcGuT>wV=Zrw=o}r%!pnPZ^Bo^(h}!8OC^YA2F&jOY~9<;)t`k zyM(B6?&d%AF5g%+m+@zNi^#JF`2)Q*IupN#q8a6OMbG)sUgdB7e30>+USirWud-p~ zhMLuSemq%htO_sReIcIn0m&lew5eSG`z+2&dzR0=G>Y+sJ;lk(nLM$li2GwYZ`o69 z{NoDyQLMN*u-tj2BV%*a=+OGNb==lN-2CgS&|!LMp|QU&hl;b*R_Ub$Q^lFj@3n+J6KSa*4vj`f$%a~8`#P!lmAijYU>SO|Zky92q;b2iLT ze_XoF6+HHtPu{6#@=~Nzyx8wrr_D#S5l74jb4g&Y$Wg$2Dh%|3=hc!-1Ac zBnJerb^Mq`-V(sJ^!kTIs_kqp!FAngB^8svd^1)ezzqa$0B{2|Tq$tANc#g%hbpgH z9Lrj;!FoTE2(th?0A}MV z47^8O?alK-593NmJ*_j2ugs2S_dL`CH4YQ zEu|Wow%fIIgiT}X0u9tIYO7>(?6$ECPOESAZ|8jWfiBRAtMh(ce(8mqG^r5Z@`TA> zE@UxbFW^-yJ%6Y7Gc@^mneEP9t!3{;Y_u1O%) z-^%yB#D*JJ(+V1BdJj&|N#wl6EP|C0pDeHlTf)X0&lY+17uXGAaiP+zewhsg!LXNE z41d8c&wZIq;+IVFxtCc2e<)NoErnQpO>){&bna}EJcZJ6q4MgbEQv>i%7>S-`)&C! zH*GyKh{QBO(U66Fe4rg^gVlAfB*jshI-vot5ox}V@YD~RB?GNGXu?e~x%Ul3a|JXk zwXllb^-=mFr7cGkdSs5nPm|v4eh;=6bB(;bn1w)HZx*wjK|VNa%L9@a=Am#alYF5V zvKviu&@z@{sDlznL3^F@sAa5IuRvUGu~85>l~zVst`-o8-knk-%1V)kSE0ByabgwP zi!6j1K@*&_m3(*^>jc$ZTgD;#_#Pd$lu(7EeRz5_2Cma`O}Edf%^-rx1|pylX4gwHQ$UHH-fdCPLv zJ^FX31HhVDU1&oOi4|GeOUrv;E^kM}kIFSHXV0{}z7g;DEOd@ui957H1uF=Z>B}qF zyZoz-a<7#v$_tFEZUod_4RfvTFGh{dq#e$g!N?;9q*N}-a1=ZUwrk1b+`_C z4?XorRcEZt^6=nq*E+0#D=;eYHD3#y!M_N=p5M_NNVMC(0IuAS7&R`mV zk4&rgVa0;R=}@>1g)Rf?0oMWkNqDd<;d4Pew49D>6(g8~)~QDYb-=a6V-tF8S%+2c z<$zLUJRZ)~r64cTy>AMAwV~FEx_r&wDI6=DcxICfd8G}tyX_6NN4AwJ-=?4is5lob zB}M~K>7!s0*r&KE7GIW`LphLn?`R-W$-Qy=CG8C2>Og<-&;4c|d{ zPCBi)3RfrU3ukhalI4IhF~D8%E|l$!O7xa>s@(^BNhWBoiYliv1I!zgg>TW@@(oH< zBRX405E620n^I+K7xWV{Es&D=8(o}yoMnkuXDy9GbAyz#PTBkzsdJbMr;-LzC!7pE z2mDS!-{T$Z5SN$59&9S0t~n4ob({M+>nraz)LsW4qAx&QWE+yT$fo?`9}Tq;ke(24 zAwELOd;@W-7PljQS&MH#ybt2=+^%(qCu(>ZaZ*1y2V?V6CBXs#u=5$b)s6QC-W#^E z6?ycD=|JGUjW!^Wan`?738MnYNTUpm_z3W=jBb3YhA#kv2;e;Qy?~EISx@B>>|s61 z#RAtIdDMNBNBG6SlVEMIf9s4q$%d~Xy`VCzA`CM&HPpTikkE(eWAITU@T>K70yM<6 z0wI&0b`_Fa1e0-ZxEa%TDXK+7{X|cvIh~Q;33kx}hTXmoTC4e@@AY_^WF@U&gfxSI zn;U9vFeH}`j7~zKUs32fGHMZWqdEj#moa2~Kywq}S>%Okd98r^6}V%-8G%y`&3Zuj z{P|L44uqr6Jjt#k%V&y|b3l0(xCNkXhDvMSA=Rt1z0G+FOx7Ty0aw?Ad=!t(Y3MCQ z-~AIfYF&}_Ypf=5x-za9t;7inLSKMC;BxO$1+OX%=yw-=*4y5gUX>0bjsVZPw;>1w z#dBTPe$*3-)|-*O48F`d6kqq)8cfz4e5Phe$0tL_u^n2c9EdAb6fii^HXScWk1H%6 z!w$lj_u!#ADj^}y8%mW&@E(~MlOetX=6w*J0b|0&ApRC`DF}ZAt^oA=@QyfE%BiA! zyJUB6M83fWg3X9nLGTd>X%ygDvP%YzKFfFw;R58v0_Q-SKCxJj5KE34Vp<77ZE*j_ zUNj`30niNvj*QNC3(g`fOO&thKv{x)kexZO*(C2e2F5r7VA}yFF$<9$_u{*cxKbqt z@vVqwnTwTN#0NtCXU)Y`1E8fDz@-D1>mapSUBOH;tlQO48wbzkYc*E2V05W=OvznG zcUnVS&5%!(ZbRsUuq&ri@gXjMq`eXL#$0Za%s(h=TG40agI(CA81nqcVn0^qqwlU> z2V?9;ebpZWxgTC}2pr9PWs*+XT_=CLkpnQlN< z>?~Xh5x<5w9vQiQK$RY+8JJzn@72L^V)~$tcmnU3ScUsYh7_A_hKILcBv%|zy1l77 zQ=3u{4yPGgs=Ssps34tpImp9jKG zsCa1^Mx8X;WdQ+0$Z46DxEi=2?(g(5xM+}(9j}8;>f5hYd`ni#UF|H=R+=A z@n8Njej8w|I@#yKD+EZdR@?V9)aEABTsqo`4=)Vdj7wz6@`J+AO34hZVSXD9jV_^X zLsxx^hPEUXPSk14TBT}%Y(N4-Vl0JxuY5z#RuaEgTfPI#$*a>u zOm;y`-iGt0F3*OL(E&!+9Q4X)!~+pWFBquXNr(xszoEcy-U+^C%_^z4tjJ$#vEi^u zN{1x(tKG8{gN>FB#GFQJIttBdRA{JL$Wx~1R+(b042|;MC_@7P+cJaQ8`^@5hCF6gYk}ET!cLNr+PbsBVa>0WHYa3I%9|&=hr)(@4I2lU{U;bj?!LI~2dV zb^F7nLzwZuz#P{Aucj;xo-?ZbPmJ+k(~#;_ zsyv4^3#qh)1DK96X!!&=5^EKfxFN1@~m_L0&`$)edpJ z2VNu4F#0(m1Jb0)tqlz)mjc&V+at<~Z3?M81?t-bM!$fOezcF%m z!I-jQl}~5z!S5B-bU=%W2l3Mvkw~at;6P4)BUQKKBh?S z091 zuug{W+y#0XOqyaY13hC|&?LQTo|5XxgjI4V--i3Mme z4Nq>t+iy&+6G4{QI+e}wYQfcUqd+eG6bs- z2%Z>iqn#@)MZQ;;A|GN~;#p!8qaZCYDp1I?#8?a*Eiv{0SC3tMDfT~&ml%b}r~9EL z2u~pYHPF!tViBd)<<0jB8-wMIwOGLq2Gn}lptkEEq;-xFTm5)47R>Cwkw2gzww#P= ziSj8_c1cw!wi{3>xl?JmTb+Z^UDm)-#o8A4N$9Q-=%z?CWE1#q!z5OX@Li-QVAVNt z18j}nS7}Ssd#Y|U7!HBpO%PZHW0i0G{%mJnsyq$JcY#ocBLLjNn`-62w^_?p*O|2Y z>@_qJ@;3ezv7h9AZ)0(g4^HGM#-P1EAR$pzJ4dfq;DGHnxFzy^lh9e`5hp+S1x%dS zSxGFcCyUU`Snzoc5=l*Xe2A4*Ar2`ruo#Ggc{44aEDV-q!+qKYycF4>u9~RgXfVqG z2qWH@^=^V>wph=21k#Z{Jo?R&)_HkuobWiumc42UGga~IDm8kF`k99b-c0| z12_Q~F&m#rNK$GcPHZnfiz7p%{Q=1U3E#F@0r`NX05c9^D`x@^I;t-O;UT~=8!E{H z^KdZ4Wsxx-$a=)-o6J5am24c~M4M7dP8t1A6_M-e0j9)o zJ(#Qq)0e?$5E&jE@+6r45Ev!7v1AsdkWVFpqJ^Z#XdgiS{h-h47KJh6p59u(chbIv zPRLHdetK($9DegYWLTFd$6&dIU`Qk3RZKZA(ntGm3<*TUS)r3=Gr-;f~ev zt6SJTkL&>Q6befr|5A$ZKu${hm+F`gquF(;6!f!gn6M!|F{M>Q%?ncQ78;O)vZKH@A4N?&FehI}a0PZm?!S2Hr(=$@Fk*IEC2B0IbeX*%7pa+y>+hWP)KEK+A7lZBFQ4ip}0-B)nt0CA(lM<7GCq)j&q?4+P zQmkOO1lR1?pr{*@5NN7>Fv>~`E3aUR&FLPclv%!WmRTyCdq9_7u|esVvQVAnPMGgk z7pYQ3vGNKU&1_b?>p`^Qr9ZK`(tc-fkrwy-&fp~cVBb98n)=l_8lCE|wci@~I1`avWXUT9)s?V4{^!GnCP^ zXLEi^9~^-&uRZl6ohz?Y@N&|rlNSE0vn;H{3rgpSG8{udy^BMllp(Y+H{;tWRHQ>! z^~bE}gB=X*aGF`^9-;_ObY8*^N2og-JA@0sZs&DOsWjRTfk!F?tU;r^B^)`CRrdkH z*DFdn2^TCyI)!Id9?IN|cOj=Y~5E`YlLQ8#7$lL60sju47HMjP1 z%X>u8sjb?|1rR0xr@4=7tt>-%9|-?7J~E+JU&Q==4Dnr{qoGHqKo#(ZIM24a$}v>b zk27$7brM8B*WWhAvs&C^jHNKfpX6`1!F8O}vKreTen`-C40y7?qZC^HZhtRB8Ff%( zfp?TL2g;i@V}Z7v8d2jT zhXC}*iVuscj)5WB*;rIWvj;hTGMg&+JWrZ>=?u~ow$XaWS4Quc$rRTrJ1Ty>ZHg72 z;4|=rmF-(Xc#Pn8{3V-ei?g6%vc+}q_OoDz)GMAH_rQ+SODo++>lhRRe5j{ZR{x3K zq)H`J+ErbuKtRkII`gML)0qdk69IQZ0$-(Fz8MSW!-QX}_*N{fdSK(gsyP+dqjKrx zpS_LqtGM~)${iK^ofQ@uEH76Q6Piou0%0B)RrHL)*8d^(LV-McGceSFISHN*!D&!= zzP8UpI?syVEC8KXB@HTfgYZKE7+6KPfcOxwwOS{?^d4(&qq77&h_htg8g&+5w>>)1 zO3CQ{3CjFDeWR%55DT|P%Q)bGeDPkbhUko324EcwUPsgM$G%0%?dFPS$ zEbuxD3As=Sz?h(2y2n9>YjMw*@WNI4?qGFLOr(wZt;MhAlplpL`%*)4FqkQXOyrcw zBanyq2n~7+b$AYCX534&iNI7yhclvjX$elLprET)-AegG{0 z+&=ly_gQP+i_6pAXJKryyzqVY8?R@MnLF8W*8B!$+4FFaMEaLJau;j;z#(waqeb)- z4ZmoJpBTZRqp?(N#TL8*JBHP-{e7JK0QVNs$=jJkFT?g)jySo0uuFmms**ndD|Sl$ zeiwU^f9ox$eSm9Mhqt`#12&ky?k)4(EGDR6CzJY|!B2JpJ_lSrBlp_POuSGp58I6^ z%>~}_?A>@P@tC(9wucQiQO%8|sl#WsgiGEo&)>sh;u_ExdXGkueS*9>;7^kM*$BT6 z_%%D_qkC9V%z+Y|^@?p3(VQ zWX0Q3REcYE3}QOjwL34U56|5{Cq-$=m|HdLlFUD5@nNTtM~9g7NYR~VcTK(|r+v)2 zxAn%Sw z23>eyDPB2|ErejS>0!YS%i|8PuB@-T;sEQ&7hZPkKEPgQY^eO$K^DdPT$1M=#Pw_7 z4SCB!^lwKr?lsN0h>PxqTy>CT2AsapQ2QkCWY5hm$tj=VL4o2J`58FV)$Nkc@!rB& zCkK4NBAG?*@&)YoXq}w#1)Cj5W}-F-D&(Z$9QYMfLoR`wp5B7t026TBbS(OcamKG+ zbSyapo8rEO@>_>lFCMc@t~$)Rwn3lg1E~KgY$0{|g?^fsY#{TZ9RCdlON#u!H>^AB zCO`KLyPv=MoBZK7tcoxGO@93d>)(T{m&7qbzY;__h1ZataRUY7=NR4iRs<@X`*9#D@04aZ;&L(d9H(^+`ciDz^*9&e?G zy3WZTpF;POc|`vvpZOP?%i}aQ+Z(Z=MTCb<=v~;nO>CmrXxVv+J_k0^`o{%%|7pC^`1-0`bDGWOo&S`VozjKL zbI!1({E>Ru@DrY7d~!wZ{}YSn4_uX}|HLvPY5bo(&eR7m)C(*JhEV`pg9h4Nkf&9$ zVLbGze6W(O3^StgW2p2LeD6U`D~4a?X-<|9bn|>e?Z?2;BF$(lQRddm+np?vosn4; zns!`nTLm*L*eRz}!IQ1s>6J z#mW87vf+W@sC12h)sK%?|oPn>)rpaM`0FrH`97(fZ&2q5d%zw>C!FBbKkM}F!B&|Mfo|8o-; zBBTr=4*Bi2FeebN1`ysOfWFS14o8@%#m7(xr~_T{Z}MBevYYG|$D0?Jjq#Tz$}x3# zE;xOnV}2c5#JF*yY`6&b=`~SKx(L^ILmqmO?O})Iz)KkR2Xp0wOBfw{a~-2Du_>(0 zxLk~LtoWb3*|6myY=F#`HJGE-qvYM&W#?toA>?s?uvd6ku6*$iwv$!M|G2_h`vnb0 zK@5|g^4C{j+7|g&VEHG*Wy4jL!Yd{?GOofQ^XDeWlj>P!=!a2MkKHv0%e0vR^YB!< zuxh9LMLpgIy(9lo52sx!clZ;2a-}@-PdtE`FR!K4GxFDevOS{)7UC!gA8@53q<`xp z72$~80EGE~79G_GlyO;z$HMa!B3ud(?H^h>17QSkvk<M2c5SNyvU@lK&un2nw`w*Y&r(;N=DiK^ zBi*XFXQZ4ti%)O4{2F{ZU@M@r2EaMqVZ0TKT6%*?xqvk|9o_U7lkxz$0O=;4OWt5| zi`jgr?En&e@XbLX!c+jIJwW(>2SnRAZx*hIDBTzzqTw3THHqWroi#>#K}-cam3#1a zV?vb?-cu&rI> zG{eu7?87nYhj`7oPcL8cX*5 ze+Ew-O+uT>a2FU*#`$I(%OfsP+5=4rNGG(42|q&<+(Wb2pz&!$lh~*c9=h8hjE549 z1+aSEuAK0DAr#?C^ln;zt&%w)(Bd=k+#c;=xAdVO1&y9903gd$r zw@!4NY{?CbH=ih<3+LJF5BY&s{1bj4S2mbGj-}Du%J`u1@|kvgC65~~PjAm-xOu$1j>53<^8WTbp7oJ`Z;wwCYviXo@X>ta zY58ymRA@adU+e&%yjdO^!(ZgDjB}ic;pcSx@nQ18IKGi*4|7cF#IG>kwpPyW!e_E8 z^7mbMNA{=aKq|JqLc2}Ol z$BvaZcI63t@L2h1SG2eDSjQ9#-_6%FYZvgbkB>Jj@?t1LPMT2J$iaiGjSeVF*5UqHRQGn!Iu# z-_BR&%4v`A{yfYjFL{Jx3eAN_(Jb!MgO@f(+Ekd1&&RqzPZys4-GgP1`htM*t(bBU}^6 zBY+W1H-U+#;^kTyGr|JEEG%3F(8@=gPZsaTA zGOT=xDPka(5+CN$W=LVT;=USghR)=-PLR)7`Rlf&km3kvJR!xifJ^-!AQpK9MEma` z9Qk*HCiJ#{%b*G2-{_Y94;6dL-K}!MdGg(1a#O^AmtHzh-Z_|0;t><%$RU^kd?(1$ zhVW(VtmDQIKAiDo;~m3>@&v~FKI~XB42~2l{a=Uk-hAf$a@+_$+m@AuPQ{xfPe^ey zaAWYK;6DM;{yWHRk{6D&ZzJ3(cfHuqH9{`XglUYU_>8;YbMJy{T<*UUpwHi1@P8+O zd}buy$@w^W^(Z+1I{EY{-jkO+>ZifE=M+GBOIP1CuH-%JT60Cl+9n~i8*rISpGU&D1SW` z(_l_Nc~}llBWH){OpfK__+_T!VjXZFZ_Jis za`_@YCtKc@%hSA0{)8`e<>FSlvGRzCd@esHy(5F$N4hOyTk2IS)&|P!&r}DCAG2P5OvFZ%(WytOAUN(>It!~)Dc0C2R1~>-D z(qPw9jxCIvSmcfw@HBvmr@3@!I#%<5rGVIHum+qV2h8TfZ08ZreHI=IVIF|e9w7X` z1EOu5XP@a#H^%qTaEd?w-f(6@da9i*1uJ()zw9lq;aOFKvTgMJmUzM!!L4^ghJ+7T*^W7$^h5FISc7s z&&U^iuu^;bxNP#}k-YS{+{>50-5dk-_I6D+6=F#_vAevxkY`{q<~5Jk`u&;gHml3> zpYyOj`c>{SpO@M;&F514g>I;56erx$dAIZGk#|hXKZ`I~%d0HHO60!)PaRD{+pWqe z<1!c}zHqzJCd7ZErM%5eXzMkhPR+T^qhjvu_?`S<8;y}9Kxz}F6@_lx=Ni*KNK=_Q zggZbx06aW-B)~DyRW}kKU!x~Hy(~VBN8)p^8(Uy6u3GGPXaRqj@ruLp@r68|pZf%# zE+YK#6Gze_Ud5w(!JT;aTJ$~9lc(HQYU$W((dB1CPr27i@ZCM`bzFRjoAm4tNAqP| zr^D(ua0Sl`gjvuwfwl{4im;h0l9#OD>-hLXj+mAFOU9>G$QK1XUP^`Itr9-pkN5w` zyFa!a05?RRl?Kx`(LQe?TyZEE8N)G?cDZmMYjV^07huAcdO>y zcKs6$4RBx^77_1a(+gM*=v>C7`hU8eTOHzg+qtwAVLpJ;9w7X`1EOu5x9L51x-mXg z!!@RB61S<95waS@RKQcYN3gpwp~?vFsg%ll;*IGk-qg93K=5SHy8*^`JMq60U#wM_ z^|y+(y1HnRG|u!CXe!v^GR?W^QK)@6CKEJo2S5UhKzeVP+qs?l%*I z9VcA%zT4@gyRkXY^7S8K*$p6?fgi#l{}qd#ph*E~mL@FW zBO1jiJz}q$k8dNvQ+M5NL{nayD{St}#sYkf0-nk#EJLdaXLh)0D>W?`QCZ~&Siqt( zPaX--8FYQ1El*`x8a?6Z-&-+Tid-S+9?5tTM^Ep6$nWRRR>;>r#Byx)`*PYx@O3Y} zFVFmlcfH#g)aURibi%Q#$g%$;zD&Iw_?Uf;l*7E2o_|s1n0=IA(6KX)$B*-NdVXM=W7$c5 z)T@K%K!vLI9JG*&BXQ_(Wfwvp`Oyu$r@Xh47xEXj$tg}A?K1F&`Ck>fj`A`m zj@J&!pE~(J`3te~%ql*eeJKA@1uu##3m3eo>{#gH<(&Vcqodb3{KOyI?YQw9xB0N8 zju)=-k9>H+TXISR+-TN6$&GGgkF9z_heHcoj;V(htyZnnZD*PC157uTx7bNX7K7z_ zri)oR z1VCvIG%aXuq%nWp--YVjBu!=eG{SAw>bb?!rm5Z|Kn|FXK><(Y6b=Mniz9g|&ea$$ zKzIajLQ50VvxwIbG^)rW0O6A{;OM+UhqDWBoL$JddYzGP?<>#L>tcB7CV8V?m!R*C zSFZ8`D^G2eFX^NO4VX$Hm*j=7u`qDxBqK}i;-!1Tc8bITctVPA0xbU@U>5QSi1yz> z9`f!6P3Ud^mO&H3ztNpSoBpSK%DY?Tg!_BB8E>zXGJ=a47yDG`pfI`qGq~-Y^nT+zpl4;Ha-hI(oT*a!Drfb z_(Ju5I>{4Kyb!p(-v1eh_TRyQCV8`v&TEA0 zcNd_~-&^p1CxDz1p!+|?oex}9Rkp{^+3Q?D`6D8rk|H4>DFP}gAsH%Z875EBQA7E6 zb+iZ>Kr=-y78;}E!@tYS1d$vwvvM4dC8_zScs=touW_2DG4mg0j^i}*$Z`6R_x;wr z=T1mE)BC)6pLg}k+Gp*3_TJ~7bM{?lpSAZssDkd}>j5-gY4`EyZZtxbhx6iYbfI&H z#wTdbJ9KC)4y2_z_5Zn(H_TR()cvWh9u2ZV;X6k~qf>lc5KUD|Mz&G;yKM5)A) zToFU@Dr%&;FNTJa3J*8W-$NyOsC4VdOe^w6M~4ZeGV9OHeSvRIq);{OC4PDk4OCe# z@V-I#LQ`MjOM~d93TWg@aTGq#3r&l>f%yV&VB|fuc*Oh>I$8F&qrX_&R*oM`qgBrU zE*eZJ$_H~;45og`=xLIoh|oluu2kdmTr`x{WBM0;7)?+GJ9*+Tid2D(Tr`XxwV{sf&+y4%sQ&op zIUtEX)_=#XN%UX(pZK@K>31r+yLoT~&C&x7jU=sH7>=eqjl+{^p6VaKtCHz_S< zh+BZ)N<+JbL9+qvPN#;jm>jPk#)y_CUVSgEitd4#O}a>pQS&~qZN$Hb;pi{!z{%G3 zr#w7``m3h{cvcF9yn&!K*`x z5kF8VvMc(+e&);J<7l5+=F2C?;g0x-L(=Ktu<01WCH`-6Nk}qDF1uy=^3rsQ4E+Nf zhNTMPd#=^vEF)g`=l$sv6Lto1=w>@7YyJ`PkhoqE&$SNnW2&bw&v}5tRX1O* zcz~v;{y3}$s6=`B@%ZtyHK3oBw;bL~KfX4e@&^}V_=wygfe~9U`DOKa6#<9lyD|J8 zjw89a;-w64l%=DtH_YV|=&-H^c$+B?;cg5&xZdqFCT>rOmeUv}^J{%=J)fC~id1fJ z-EJYpaEO>KmOr@`yf$2JLk6vLkvlt%PPL0{zCha)11+AHI&r z4Ooy*9H}ro))!wvAX0yEM4v|AG&uSGqxu81`R)JzKJ>=37%m1bt}?W0Z~`||Ajqi3%~bcD16~(H z`@J2$vme*+swucYKdj+BBAaXYC{n=BfuXYhT~Xo8-^E2rV^uG-D}rcq@00Q^Gy7AN4B za1m^K6RQz!a*v2BL^D;qiLXtgihy?LZ@?YN04=y*rlZ~ea1HO7PT`^Nu5lmM0#w}# zhqI(-UF)$md}ccC`hz?9ksncvW8-wv+NY8hXG!fx?(IX?c9v{UgP{T>T}Ns==yDN0 zkwscI=$Pgogr{o%{0i{+85AE>i1`5y;meZ)|7A#B>-?R(Y6hhYY{oznX`kdAi}P_U z;*MH6tljSNIbQDZkdK9fcamce_H$JRRvN6*F;84}HyhW>Q$lGuEzfD|Qvt99-AhgMT}d?h1L*irQpFH6qHJyUd~q zF<&F983!X3o&j~Xm2|0QzhRE8t)!j;;|6X?b^jLvvCiOY~YErX=&II4EUBbn3>jfQ6_cA zQAS{5w_SW@Hh$Xo@8avTX}Y5d7kdlNkX-n30|es&_XBYt3EarRGtmGnU?OJ`+l^qi z;EQ>bK@{{GWAQ|aa9RNx8RRGTehtD+(AOgE7LW^yfwT?vb4l|Vh>Q3wqd=PlSN0`{ zr~=g>6{LZ5B+RvwmUa(m>DYb{WP%S*oH!8yIUnR>-`61zfI|Q`kt~np@~bb@>RJoY zNFCY1@i{o)T|edVIW$lo%0J1W9+89b9oEAh!qi=um!i(K0E~SzjtR#j-$$<^-jxIU zq;>~i%7K}7`6Uj|MK*1gKe&pCkG;azH)Lr6WYtRoG4G6oXC!Ga>6`u zwTSCzW147`J@y_J1L}D>28GHyHSQXZhke+J(rnlkVGad ziAuMl^@Yq2qFQjXRYCLR?D5HZm_4;AH_7u$Lw^s4Br4+CC=f2Cxp&RCl%c!5~zP}b8 z)2OuA5#m)B&mS(QpX)1lMFnom_6_Fd3jCrf=O*6ofKC7VO{^*@NB1)GE9s0B{&ACe|)L?XGA<6_0(Ec7=S6 z2>`^16Jt)68J51^MDyEc=~1O-zF^K;P1kiVxAkmJuc0GK?On&A|4Qc_Ej75yap)Z> zzKyP9{68_=Q@ecy%(b<6_9 zn`vlxFF0sAopt43xvXmmW9CCG^IoyGTbj%{o9R>1zuJ6UZNm~~6RR(bJOO*%$;cKEKA?!?erp2-IGih7AOJC5%F(7+6AH#LyU zGg-}B<9;7BXU*;22VH-ewuXIM4VwWA+6;lsCJ)Sk7*lBA#lZWkdCwj?s6WJcuh8S_ z@M=E!3R;FWt9k8Sw1?$ykhX2VoB18WqKmNf65fKi8f&}lH8eax^fi!~KLAe|ouuP$ zg-b;HKG-0jQ=&U=8=cb5f7QM3)xF>4aSFp3@0?%Zt&viJ8J%`$LS~{%xAZNqyZ5Pt zYi@if#whhubL?@7x2bnmm?iJi6mQt7=6fg6 z=IW8=%OBBy_;|?+AJk##?64&O z2Q3|Ro(hOw!y_G5%MFV{XUOu;pF3|houfpX+mFSIjVrWIw>r4 zuj~VJQudR;g`4qCasv;ym4M(qKr}+lm4%anjiEszvg6ilO$ERjr9w7CWi9 zs#O*!)9P-{_|vJZf(DH?Tm$gGc#hH{&rqgck%F z+3=lzFVKilDS3P?&{*o5@Z-D^``n^jNoMpv_<_uqnLeT^-F zQ?d#%M-(Uo+dwT4Ung0T=TMy3weFAT78EQjlC9CBN4rQsII#S?G!oaI!s~h)(}Q|- z(#MW->B*(mmET?pF4kGjL#U>21 zm%4Nbo;@`F<5DADn=1Lr&zo1AnS1mJQbUlGzE;n*`;}b@vdHD$= z)%M7D`4lb8$tx_LpO;g*u%ygg9?FTH8T~}GJtz9X=tyMjvUEu)O18)FUzZzq@qy(=6!)nxn!Oj4q?DAFY3An@ zxMy_ToU_8n*Bz;F$xQ?4;6ac9GC>xY0kT0Zu!H%a5R`#RPz@w~E!YC;!ESH>G=Uay z3VZ@igR|fwxD2j>ubws>+6@G>XK>wtU=RUfK@vy<8Nd$agF*r6|0flw!amhNuA0td zj5CisV;oNoliuMb^gp$LQ{XH}l3KoHZf!Eg+Whe*4=W$IQT*jQM!Fu)@yCscs(Guq z^tcfd=#b1kA6Wzj^R;QG-^Sam1De+M3r(|w-3X_G-A%Z8umDmlWb>OE%E6lPAQ7!Y zEVg?gE)g^QwC_iHa24B4Kt8dM$zb;(4NFYmOy#@Q)Nr^K(vU~ry^o<2PI}Ss2?wH+ zPx9k#T@QrO+l2>Zr*kiK{~M&`a(~RN$Bl2gac-O8!+15-yDO&8Zvm(NWJv4z*KWQi z40wRsY}z)PP43-jLU*MEeqv&$73lMkek}LL&kKtH0M}#{kbNwoAcZ)KBuF9EA{|o5 zu*iZGvMub8LZL+&q)-kV@~6t822$8)u?yEi4Jp_y3L%9ui*j!Vz6NYm zS=2xZ8!fg$3XK+fA%z1LO^`yf#R*8^l*MUC;iAP=NTJQ5-GM+mFnrwjK?=bZeISJ> zi#SLj$s!d}NVmv<6tXO`AqBfdA*4`d;V4HysIsVm6gFCHgA^Jq_Cg8=ESeyNW{VS$ z!YPZ>kitcatB^vQ8=QXx1fz=^KS&|iq7S4HWf2D{Bw3_F3h5RZkV2M4Hl$#;D1;Qs zT*&!HK&Y~)ffP1cY=aaUE%rhR2P~Q(g=UKrkisd8(~!bNi>r`An-GUT?G^^iTmef` zx|*qtXut(|kNL{y9_+8%CJ)(GzrG;{cvJFu0>s+L4 z$1y>}5V9q(oord%C)gw-A6Gqf7-bvy-^tcLdK_}vjhyW``2R#?7{Wh6!e8rN8a%bM u6$n4Y-3{9~3^$!-*p8}628Y^g=exwpm#AJ^0M7E^1lHDw8WbL