diff --git a/fsw/cfe-core/src/es/cfe_es_apps.c b/fsw/cfe-core/src/es/cfe_es_apps.c index 66fe5fe18..0e2e87c5e 100644 --- a/fsw/cfe-core/src/es/cfe_es_apps.c +++ b/fsw/cfe-core/src/es/cfe_es_apps.c @@ -53,9 +53,6 @@ */ #define ES_START_BUFF_SIZE 128 -/* For extra debug code */ -#undef ES_APP_DEBUG - /* ** ** Global Variables @@ -370,11 +367,6 @@ int32 CFE_ES_AppCreate(uint32 *ApplicationIdPtr, bool AppSlotFound; uint32 TaskId; uint32 ModuleId; - char FileNameOnly[OS_MAX_PATH_LEN]; - char RamDiskPath[OS_MAX_PATH_LEN]; - size_t StringLength; - bool IsRamDiskFile = false; - /* * The FileName must not be NULL @@ -408,96 +400,10 @@ int32 CFE_ES_AppCreate(uint32 *ApplicationIdPtr, if ( AppSlotFound == true) { /* - ** Check to see if the code is a Gzip file + ** Load the module */ - if ( CFE_FS_IsGzFile(FileName) == true ) - { - /* - ** Build up the destination path in the RAM disk - */ - (void) CFE_SB_MessageStringGet(RamDiskPath, - CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING"/", - NULL, - sizeof(RamDiskPath), - sizeof(CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING"/")); - - /* - ** Extract the filename from the path - */ - ReturnCode = CFE_FS_ExtractFilenameFromPath(FileName, FileNameOnly); - - if ( ReturnCode == CFE_SUCCESS ) - { - if ((strlen(RamDiskPath) + strlen(FileNameOnly)) < OS_MAX_PATH_LEN) - { - - /* - ** Cat the Filename to the RamDiskPath - */ - strcat(RamDiskPath, FileNameOnly); - - /* - ** Remove the ".gz" prefix from the filename - ** Already Determined that the filename ends in ".gz" - */ - StringLength = strlen(RamDiskPath); - RamDiskPath[StringLength - 3] = '\0'; - - /* - ** Decompress the file: - */ - ReturnCode = CFE_FS_Decompress( FileName, RamDiskPath); - - if ( ReturnCode != OS_SUCCESS ) - { - CFE_ES_WriteToSysLog("ES Startup: Unable to decompress Application File: %s\n",FileName); - - CFE_ES_LockSharedData(__func__,__LINE__); - CFE_ES_Global.AppTable[i].AppState = CFE_ES_AppState_UNDEFINED; /* Release slot */ - CFE_ES_UnlockSharedData(__func__,__LINE__); - - return(CFE_ES_ERR_APP_CREATE); - } - else - { - /* - ** All ready to use unzipped RAM disk file - */ - IsRamDiskFile = true; - ReturnCode = OS_ModuleLoad( &ModuleId, AppName, RamDiskPath); - } - } - else - { - /* Can't include the name string since it could be too long for the message */ - CFE_ES_WriteToSysLog("ES Startup: Application path plus file name length (%d) exceeds max allowed (%d)\n", - (int)(strlen(RamDiskPath) + strlen(FileNameOnly)), OS_MAX_PATH_LEN); - - CFE_ES_LockSharedData(__func__,__LINE__); - CFE_ES_Global.AppTable[i].AppState = CFE_ES_AppState_UNDEFINED; /* Release slot */ - CFE_ES_UnlockSharedData(__func__,__LINE__); - - return(CFE_ES_ERR_APP_CREATE); - } + ReturnCode = OS_ModuleLoad ( &ModuleId, AppName, FileName ); - } - else - { - CFE_ES_WriteToSysLog("ES Startup: Unable to extract filename from path: %s.\n",FileName); - CFE_ES_LockSharedData(__func__,__LINE__); - CFE_ES_Global.AppTable[i].AppState = CFE_ES_AppState_UNDEFINED; /* Release slot */ - CFE_ES_UnlockSharedData(__func__,__LINE__); - return(CFE_ES_ERR_APP_CREATE); - } - - } - else - { - /* - ** Load the module directly - */ - ReturnCode = OS_ModuleLoad ( &ModuleId, AppName, FileName ); - } /* ** If the Load was OK, then lookup the address of the entry point */ @@ -630,20 +536,6 @@ int32 CFE_ES_AppCreate(uint32 *ApplicationIdPtr, CFE_ES_UnlockSharedData(__func__,__LINE__); - /* - ** Remove the temporary RAM disk file - */ - if ( IsRamDiskFile == true ) - { - ReturnCode = OS_remove(RamDiskPath); - - if (ReturnCode != OS_SUCCESS) - { - CFE_ES_WriteToSysLog("ES Startup: Error removing temp RAM disk file, EC = 0x%08X\n", - (unsigned int) ReturnCode); - } - } - return(CFE_SUCCESS); } /* End If OS_TaskCreate */ @@ -670,14 +562,11 @@ int32 CFE_ES_LoadLibrary(uint32 *LibraryIdPtr, { CFE_ES_LibraryEntryFuncPtr_t FunctionPointer; CFE_ES_LibRecord_t * LibSlotPtr; - const char * ActualLoadFile; size_t StringLength; int32 Status; uint32 CheckSlot; uint32 ModuleId; bool IsModuleLoaded; - bool IsRamDiskFile; - char RamDiskPath[OS_MAX_PATH_LEN]; /* * First, should verify that the supplied "LibName" fits within the internal limit @@ -692,10 +581,7 @@ int32 CFE_ES_LoadLibrary(uint32 *LibraryIdPtr, /* ** Allocate an ES_LibTable entry */ - RamDiskPath[0] = 0; IsModuleLoaded = false; - IsRamDiskFile = false; - ActualLoadFile = NULL; LibSlotPtr = NULL; FunctionPointer = NULL; ModuleId = 0; @@ -771,42 +657,13 @@ int32 CFE_ES_LoadLibrary(uint32 *LibraryIdPtr, * ------------------- */ - /* - * STAGE 1: - * Figure out what filename to actually load, if a filename was given - * If the file is compressed, it must be uncompressed to a temp location first and that will be loaded - * - * (Note CFE_FS_IsGzFile() handles a NULL filename and properly returns false if NULL) - */ - if ( ! CFE_FS_IsGzFile(FileName) ) - { - /* - ** Not compressed - Load the library module directly - */ - ActualLoadFile = FileName; - } - else - { - /* - * Decompress to a temp file, and get that file name. - * Implemented in a helper function in the File Services subsystem which avoids clutter here. - */ - Status = CFE_FS_GetUncompressedFile(RamDiskPath, sizeof(RamDiskPath), - FileName, CFE_PLATFORM_ES_RAM_DISK_MOUNT_STRING); - if (Status == CFE_SUCCESS) - { - IsRamDiskFile = true; - ActualLoadFile = RamDiskPath; - } - } - /* * STAGE 2: * Do the OS_ModuleLoad() if is called for (i.e. ModuleLoadFile is NOT null) */ - if (Status == CFE_SUCCESS && ActualLoadFile != NULL) + if (Status == CFE_SUCCESS && FileName != NULL) { - Status = OS_ModuleLoad( &ModuleId, LibName, ActualLoadFile ); + Status = OS_ModuleLoad( &ModuleId, LibName, FileName ); if (Status == OS_SUCCESS) { Status = CFE_SUCCESS; /* just in case CFE_SUCCESS is different than OS_SUCCESS */ @@ -901,24 +758,6 @@ int32 CFE_ES_LoadLibrary(uint32 *LibraryIdPtr, OS_ModuleUnload( ModuleId ); } - /* - * If the above code had used a temp file, then remove it - */ - if ( IsRamDiskFile == true ) - { - /* - * Note: do not overwrite "Status" variable here; - * this contains a return code that needs to be - * sent back to the caller. - */ - - if (OS_remove(RamDiskPath) != OS_SUCCESS) - { - CFE_ES_WriteToSysLog("ES Startup: Error removing temp lib RAM disk file, EC = 0x%08X\n", - (unsigned int) Status); - } - } - /* Release Slot - No need to lock as it is resetting just a single bool value */ LibSlotPtr->RecordUsed = false; } @@ -1238,11 +1077,6 @@ int32 CFE_ES_CleanUpApp(uint32 AppId) uint32 MainTaskId; int32 ReturnCode = CFE_SUCCESS; - #ifdef ES_APP_DEBUG - OS_printf("------------- Starting App Cleanup: AppID = %d -----------\n",AppId); - CFE_ES_ListResourcesDebug(); - #endif - /* ** Call the Table Clean up function */ @@ -1332,12 +1166,6 @@ int32 CFE_ES_CleanUpApp(uint32 AppId) CFE_ES_Global.AppTable[AppId].AppState = CFE_ES_AppState_UNDEFINED; - #ifdef ES_APP_DEBUG - OS_TaskDelay(1000); - CFE_ES_ListResourcesDebug(); - printf("--------- Finished CFE_ES_CleanUpApp-------------\n"); - #endif - CFE_ES_UnlockSharedData(__func__,__LINE__); return(ReturnCode); @@ -1348,8 +1176,7 @@ int32 CFE_ES_CleanUpApp(uint32 AppId) /* * Simple state structure used when cleaning up objects associated with tasks * - * This is used locally between CFE_ES_CleanupTaskResources and the - * CFE_ES_CountObjectCallback helper function. + * This is used locally by CFE_ES_CleanupTaskResources */ typedef struct { @@ -1362,9 +1189,9 @@ typedef struct /* **--------------------------------------------------------------------------------------- -** Name: CFE_ES_CountObjectCallback +** Name: CFE_ES_CleanupObjectCallback ** -** Purpose: Helper function for CFE_ES_ListResourcesDebug to count all objects. +** Purpose: Helper function clean up all objects. ** ** NOTE: This is called while holding the ES global lock **--------------------------------------------------------------------------------------- @@ -1528,53 +1355,6 @@ int32 CFE_ES_CleanupTaskResources(uint32 TaskId) } -/* -**--------------------------------------------------------------------------------------- -** Name: CFE_ES_CountObjectCallback -** -** Purpose: Helper function for CFE_ES_ListResourcesDebug to count all objects. -**--------------------------------------------------------------------------------------- -*/ -void CFE_ES_CountObjectCallback(uint32 ObjectId, void *arg) -{ - uint32 *CountState; - uint32 idtype; - - CountState = (uint32 *)arg; - idtype = OS_IdentifyObject(ObjectId); - if (idtype < OS_OBJECT_TYPE_USER) - { - ++CountState[idtype]; - } -} - - -/* -**--------------------------------------------------------------------------------------- -** Name: CFE_ES_ListResourcesDebug -** -** Purpose: List the resources. -**--------------------------------------------------------------------------------------- -*/ -int32 CFE_ES_ListResourcesDebug(void) -{ - uint32 CountState[OS_OBJECT_TYPE_USER]; - - memset(CountState,0,sizeof(CountState)); - OS_ForEachObject (0, CFE_ES_CountObjectCallback, CountState); - - OS_printf("OS Resources in Use:\n"); - OS_printf("Number of Tasks: %d\n", (int) CountState[OS_OBJECT_TYPE_OS_TASK]); - OS_printf("Number of Queues: %d\n", (int) CountState[OS_OBJECT_TYPE_OS_QUEUE]); - OS_printf("Number of Counting Semaphores: %d\n",(int) CountState[OS_OBJECT_TYPE_OS_COUNTSEM]); - OS_printf("Number of Binary Semaphores: %d\n",(int) CountState[OS_OBJECT_TYPE_OS_BINSEM]); - OS_printf("Number of Mutexes: %d\n", (int) CountState[OS_OBJECT_TYPE_OS_MUTEX]); - OS_printf("Number of Open Files: %d\n",(int) CountState[OS_OBJECT_TYPE_OS_STREAM]); - - return CFE_SUCCESS; - -} - /* **--------------------------------------------------------------------------------------- ** Name: CFE_ES_GetAppInfoInternal diff --git a/fsw/cfe-core/src/es/cfe_es_apps.h b/fsw/cfe-core/src/es/cfe_es_apps.h index 19ec02890..1f604bc93 100644 --- a/fsw/cfe-core/src/es/cfe_es_apps.h +++ b/fsw/cfe-core/src/es/cfe_es_apps.h @@ -223,11 +223,6 @@ int32 CFE_ES_CleanUpApp(uint32 AppId); */ int32 CFE_ES_CleanupTaskResources(uint32 TaskId); -/* -** Debug function to print out resource utilization -*/ -int32 CFE_ES_ListResourcesDebug(void); - /* ** Populate the cFE_ES_AppInfo structure with the data for an app ** This is an internal function for use in ES. diff --git a/fsw/cfe-core/src/fs/cfe_fs_api.c b/fsw/cfe-core/src/fs/cfe_fs_api.c index 56f792350..1f2a01357 100644 --- a/fsw/cfe-core/src/fs/cfe_fs_api.c +++ b/fsw/cfe-core/src/fs/cfe_fs_api.c @@ -326,7 +326,7 @@ int32 CFE_FS_ExtractFilenameFromPath(const char *OriginalPath, char *FileNameOnl return(ReturnCode); } - +#ifndef CFE_OMIT_DEPRECATED_6_7 /* ** Function: CFE_FS_IsGzFile - See API and header file for details */ @@ -439,6 +439,7 @@ int32 CFE_FS_GetUncompressedFile(char *OutputNameBuffer, uint32 OutputNameBuffer return Status; } +#endif /* CFE_OMIT_DEPRECATED_6_7 */ /************************/ /* End of File Comment */ diff --git a/fsw/cfe-core/src/fs/cfe_fs_decompress.c b/fsw/cfe-core/src/fs/cfe_fs_decompress.c index 1bb70306a..5e2a4d5ae 100644 --- a/fsw/cfe-core/src/fs/cfe_fs_decompress.c +++ b/fsw/cfe-core/src/fs/cfe_fs_decompress.c @@ -45,6 +45,8 @@ */ #include "cfe_fs_decompress.h" +#ifndef CFE_OMIT_DEPRECATED_6_7 /* Entire file will be removed in major release */ + /* ** Global data -- Note: The following Global Data should be removed. The CFE_FS_Decompress API is not ** re-entrant! In order to make sure that two apps will not corrupt the data @@ -1225,4 +1227,4 @@ uint32 FS_gz_updcrc( uint8 * s, uint32 n ) } - +#endif /* CFE_OMIT_DEPRECATED_6_7 */ diff --git a/fsw/cfe-core/src/inc/cfe_error.h b/fsw/cfe-core/src/inc/cfe_error.h index 0e93b4a34..763235f4b 100644 --- a/fsw/cfe-core/src/inc/cfe_error.h +++ b/fsw/cfe-core/src/inc/cfe_error.h @@ -674,15 +674,18 @@ */ #define CFE_FS_FNAME_TOO_LONG ((int32)0xc6000003) +#ifndef CFE_OMIT_DEPRECATED_6_7 /** - * @brief GZIP File Bad Data + * @brief DEPRECATED: GZIP File Bad Data + * @deprecated * * The GZIP file contains invalid data and cannot be read */ #define CFE_FS_GZIP_BAD_DATA ((int32)0xc6000004) /** - * @brief GZIP File Bad Code Block + * @brief DEPRECATED: GZIP File Bad Code Block + * @deprecated * * The GZIP file codeblock is bad, which means the file is * most likely corrupted @@ -690,7 +693,8 @@ #define CFE_FS_GZIP_BAD_CODE_BLOCK ((int32)0xc6000005) /** - * @brief GZIP Memory Buffer Exhausted + * @brief DEPRECATED: GZIP Memory Buffer Exhausted + * @deprecated * * The memory buffer used by the decompression routine is * exhausted. @@ -698,7 +702,8 @@ #define CFE_FS_GZIP_NO_MEMORY ((int32)0xc6000006) /** - * @brief GZIP CRC Error + * @brief DEPRECATED: GZIP CRC Error + * @deprecated * * There is a CRC error in the GZIP file, which means the * file is most likely corrupted. @@ -706,7 +711,8 @@ #define CFE_FS_GZIP_CRC_ERROR ((int32)0xc6000007) /** - * @brief GZIP Length Error + * @brief DEPRECATED: GZIP Length Error + * @deprecated * * There is a length error in the GZIP internal data * structures, which means the file is most likely corrupted. @@ -714,7 +720,8 @@ #define CFE_FS_GZIP_LENGTH_ERROR ((int32)0xc6000008) /** - * @brief GZIP Write Error + * @brief DEPRECATED: GZIP Write Error + * @deprecated * * An error occurred trying to write the uncompressed * file. @@ -722,14 +729,16 @@ #define CFE_FS_GZIP_WRITE_ERROR ((int32)0xc6000009) /** - * @brief GZIP Read Error + * @brief DEPRECATED: GZIP Read Error + * @deprecated * * An error occurred trying to read the GZIP file */ #define CFE_FS_GZIP_READ_ERROR ((int32)0xc600000A) /** - * @brief GZIP Open Output Error + * @brief DEPRECATED: GZIP Open Output Error + * @deprecated * * An error occurred trying to open the DestinationFile * where the GZIP file will be uncompressed. The @@ -739,7 +748,8 @@ #define CFE_FS_GZIP_OPEN_OUTPUT ((int32)0xc600000B) /** - * @brief GZIP Open Input Error + * @brief DEPRECATED: GZIP Open Input Error + * @deprecated * * An error occurred trying to open the GZIP file * to be decompressed. The function must be able to open @@ -749,7 +759,8 @@ #define CFE_FS_GZIP_OPEN_INPUT ((int32)0xc600000C) /** - * @brief GZIP Read Header Error + * @brief DEPRECATED: GZIP Read Header Error + * @deprecated * * An error occured trying to read the GZIP file header, * which means the file is most likely corrupted or @@ -758,7 +769,8 @@ #define CFE_FS_GZIP_READ_ERROR_HEADER ((int32)0xc600000D) /** - * @brief GZIP Index Error + * @brief DEPRECATED: GZIP Index Error + * @deprecated * * An error occurred trying to read the GZIP index, * which means the file is most likely corrupted. @@ -766,12 +778,15 @@ #define CFE_FS_GZIP_INDEX_ERROR ((int32)0xc600000E) /** - * @brief GZIP Not Zip File + * @brief DEPRECATED: GZIP Not Zip File + * @deprecated * * The file to be decompressed is not a valid GZIP file */ #define CFE_FS_GZIP_NON_ZIP_FILE ((int32)0xc600000F) +#endif /* CFE_OMIT_DEPRECATED_6_7 */ + /** * @brief Not Implemented * diff --git a/fsw/cfe-core/src/inc/cfe_fs.h b/fsw/cfe-core/src/inc/cfe_fs.h index 402dee6d0..5d81bf660 100644 --- a/fsw/cfe-core/src/inc/cfe_fs.h +++ b/fsw/cfe-core/src/inc/cfe_fs.h @@ -185,13 +185,16 @@ int32 CFE_FS_WriteHeader(int32 FileDes, CFE_FS_Header_t *Hdr); int32 CFE_FS_SetTimestamp(int32 FileDes, CFE_TIME_SysTime_t NewTimestamp); /**@}*/ +#ifndef CFE_OMIT_DEPRECATED_6_7 + /** @defgroup CFEAPIFSCompress cFE Compressed File Management APIs * @{ */ /*****************************************************************************/ /** -** \brief Determines if a file is a Gzip/compressed file. +** \brief DEPRECATED; Determines if a file is a Gzip/compressed file. +** \deprecated ** ** \par Description ** This API will check the filename and return true if the file is @@ -212,7 +215,8 @@ bool CFE_FS_IsGzFile(const char *FileName); /*****************************************************************************/ /** -** \brief Decompresses the source file to the destination file. +** \brief DEPRECATED; Decompresses the source file to the destination file. +** \deprecated ** ** \par Description ** This API will decompress the source file to the file specified by @@ -241,7 +245,8 @@ int32 CFE_FS_Decompress( const char * SourceFile, const char * DestinationFile ) /*****************************************************************************/ /** -** \brief Decompresses the source file to a temporary file created in the temp dir +** \brief DEPRECATED; Decompresses the source file to a temporary file created in the temp dir +** \deprecated ** ** \par Description ** This is a wrapper around the #CFE_FS_Decompress function that @@ -266,6 +271,8 @@ int32 CFE_FS_GetUncompressedFile(char *OutputNameBuffer, uint32 OutputNameBuffer const char *GzipFileName, const char *TempDir); /**@}*/ +#endif /* CFE_OMIT_DEPRECATED_6_7 */ + /** @defgroup CFEAPIFSUtil cFE File Utility APIs * @{ */ diff --git a/fsw/cfe-core/unit-test/es_UT.c b/fsw/cfe-core/unit-test/es_UT.c index 071727a7f..0c8af6cb8 100644 --- a/fsw/cfe-core/unit-test/es_UT.c +++ b/fsw/cfe-core/unit-test/es_UT.c @@ -807,7 +807,6 @@ void TestApps(void) int Return; int j; CFE_ES_AppInfo_t AppInfo; - char LongFileName[OS_MAX_PATH_LEN + 9]; char LongLibraryName[sizeof(CFE_ES_Global.LibTable[0].LibName)+1]; uint32 Id, Id2, Id3, Id4; uint32 TestObjId, TestObjId2, TestObjId3, TestObjId4; @@ -967,61 +966,6 @@ void TestApps(void) "CFE_ES_AppCreate", "Application load/create; successful"); - /* Test application loading and creation with a file - * decompression failure - */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_Decompress), 1, -1); - Return = CFE_ES_AppCreate(&Id, - "ut/filename.gz", - "EntryPoint", - "AppName", - 170, - 8192, - 1); - UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_APP_CREATE && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_DECOMPRESS_APP]), - "CFE_ES_AppCreate", - "Decompression failure"); - - /* Test application loading, creation and decompression */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_Decompress), 1, 0); - Return = CFE_ES_AppCreate(&Id, - "ut/filename.gz", - "EntryPoint", - "AppName", - 170, - 8192, - 1); - UT_Report(__FILE__, __LINE__, - Return == CFE_SUCCESS && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_TABLE_SLOT_IN_USE]), - "CFE_ES_AppCreate", - "Decompression; successful"); - - /* Test application loading and creation where the file name cannot be - * extracted from the path - */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_ExtractFilenameFromPath), 1, -1); - Return = CFE_ES_AppCreate(&Id, - "ut/filename.gz", - "EntryPoint", - "AppName", - 170, - 8192, - 1); - UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_APP_CREATE && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_EXTRACT_FILENAME_UT]), - "CFE_ES_AppCreate", - "File name extraction failure"); - /* Test application loading and creation where the file cannot be loaded */ UT_InitData(); UT_SetDeferredRetcode(UT_KEY(OS_ModuleLoad), 1, -1); @@ -1098,70 +1042,10 @@ void TestApps(void) "CFE_ES_AppCreate", "Module unload failure after entry point lookup failure"); - /* Test application loading and creation where the application file name - * is too long - */ - UT_InitData(); - strcpy(LongFileName, "ut57/"); - - for (j = 0; j < OS_MAX_PATH_LEN; j++) - { - strcat(LongFileName, "a"); - } - - strcat(LongFileName, ".gz"); - - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - Return = CFE_ES_AppCreate(&Id, - LongFileName, - "EntryPoint", - "AppName", - 170, - 8192, - 1); - UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_APP_CREATE && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_EXTRACT_FILENAME_UT57]), - "CFE_ES_AppCreate", - "Application file name too long"); - - /* Test application loading and creation where the application path + file - * name is too long - */ - UT_InitData(); - strcpy(LongFileName, "ut58/"); - - for (j = 0; j < OS_MAX_PATH_LEN - 6; j++) - { - strcat(LongFileName, "a"); - } - - strcat(LongFileName, ".gz"); - - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - Return = CFE_ES_AppCreate(&Id, - LongFileName, - "EntryPoint", - "AppName", - 170, - 8192, - 1); - UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_APP_CREATE && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_APP_PATH_FILE_TOO_LONG]), - "CFE_ES_AppCreate", - "Application file name + path too long"); - /* Test shared library loading and initialization where the initialization * routine returns an error */ - UT_InitData(); - - for (j = 0; j < CFE_PLATFORM_ES_MAX_LIBRARIES; j++) - { - CFE_ES_Global.LibTable[j].RecordUsed = false; - } - + ES_ResetUnitTest(); UT_SetDummyFuncRtn(-444); Return = CFE_ES_LoadLibrary(&Id, "filename", @@ -1186,15 +1070,12 @@ void TestApps(void) "CFE_ES_LoadLibrary", "Load shared library bad argument (library name too long)"); - /* Test successful shared library loading and initialization with a - * gzip'd library - */ + /* Test successful shared library loading and initialization */ UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); UT_SetDummyFuncRtn(OS_SUCCESS); Id = CFE_PLATFORM_ES_MAX_LIBRARIES; Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", + "/cf/apps/tst_lib.bundle", "TST_LIB_Init", "TST_LIB"); UT_Report(__FILE__, __LINE__, @@ -1202,12 +1083,12 @@ void TestApps(void) Id < CFE_PLATFORM_ES_MAX_LIBRARIES && CFE_ES_Global.LibTable[Id].RecordUsed == true, "CFE_ES_LoadLibrary", - "Decompress library; successful"); + "successful"); /* Try loading same library again, should return the DUPLICATE code */ Id = CFE_PLATFORM_ES_MAX_LIBRARIES; Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", + "/cf/apps/tst_lib.bundle", "TST_LIB_Init", "TST_LIB"); UT_Report(__FILE__, __LINE__, @@ -1215,66 +1096,44 @@ void TestApps(void) Id < CFE_PLATFORM_ES_MAX_LIBRARIES && CFE_ES_Global.LibTable[Id].RecordUsed == true, "CFE_ES_LoadLibrary", - "Unable to decompress library"); - - - /* Test shared library loading and initialization with a gzip'd library - * where the decompression fails. - * Only one test case is needed here now, since the CFE_FS_GetUncompressedFile - * is moved into FS and is individually tested in that module - */ - UT_InitData(); - memset(&CFE_ES_Global.LibTable, 0, sizeof(CFE_ES_Global.LibTable)); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); - UT_SetForceFail(UT_KEY(CFE_FS_GetUncompressedFile), CFE_FS_BAD_ARGUMENT); - Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", - "TST_LIB_Init", - "TST_LIB"); - UT_Report(__FILE__, __LINE__, - Return == CFE_FS_BAD_ARGUMENT, - "CFE_ES_LoadLibrary", - "Unable to decompress library"); + "Duplicate"); /* Test shared library loading and initialization where the library * fails to load */ - UT_InitData(); + ES_ResetUnitTest(); UT_SetDeferredRetcode(UT_KEY(OS_ModuleLoad), 1, -1); Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", + "/cf/apps/tst_lib.bundle", "TST_LIB_Init", "TST_LIB"); UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_LOAD_LIB && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_LOAD_SHARED_LIBRARY]), + Return == CFE_ES_ERR_LOAD_LIB, "CFE_ES_LoadLibrary", "Load shared library failure"); /* Test shared library loading and initialization where the library * entry point symbol cannot be found */ - UT_InitData(); + ES_ResetUnitTest(); UT_SetDeferredRetcode(UT_KEY(OS_SymbolLookup), 1, -1); Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", + "/cf/apps/tst_lib.bundle", "TST_LIB_Init", "TST_LIB"); UT_Report(__FILE__, __LINE__, - Return == CFE_ES_ERR_LOAD_LIB && - UT_PrintfIsInHistory(UT_OSP_MESSAGES[UT_OSP_FIND_LIBRARY]), + Return == CFE_ES_ERR_LOAD_LIB, "CFE_ES_LoadLibrary", "Could not find library initialization symbol"); /* Test shared library loading and initialization where the library * initialization function fails and then must be cleaned up */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(CFE_FS_IsGzFile), 1, true); + ES_ResetUnitTest(); UT_SetForceFail(UT_KEY(OS_remove), OS_ERROR); /* for coverage of error path */ UT_SetForceFail(UT_KEY(dummy_function), -555); Return = CFE_ES_LoadLibrary(&Id, - "/cf/apps/tst_lib.bundle.gz", + "/cf/apps/tst_lib.bundle", "dummy_function", "TST_LIB"); UT_Report(__FILE__, __LINE__, @@ -1285,8 +1144,7 @@ void TestApps(void) /* Test shared library loading and initialization where there are no * library slots available */ - UT_InitData(); - + ES_ResetUnitTest(); for (j = 0; j < CFE_PLATFORM_ES_MAX_LIBRARIES; j++) { CFE_ES_Global.LibTable[j].RecordUsed = true; @@ -1687,16 +1545,6 @@ void TestApps(void) /* Test listing the OS resources in use */ ES_ResetUnitTest(); - /* Fail the first time, then succeed on the second in order to test - * both paths - */ - UT_SetDeferredRetcode(UT_KEY(OS_TaskGetInfo), 2, OS_ERROR); - UT_Report(__FILE__, __LINE__, - CFE_ES_ListResourcesDebug() == CFE_SUCCESS && - UT_GetStubCount(UT_KEY(OS_printf)) == 7, - "CFE_ES_ListResourcesDebug", - "Get task info failed"); - /* Test populating the application information structure with data */ ES_ResetUnitTest(); OS_TaskCreate(&TestObjId, "UT", NULL, NULL, 0, 0, 0); @@ -2092,21 +1940,6 @@ void TestApps(void) CFE_ES_CleanupTaskResources(TestObjId) == CFE_SUCCESS, "CFE_ES_CleanupTaskResources", "Get OS information failures"); - - /* Test cleaning up the OS resources for a task with failure to - * obtain information on mutex, binary, and counter semaphores, and - * queues, timers, and file descriptors - */ - ES_ResetUnitTest(); - UT_SetDeferredRetcode(UT_KEY(OS_MutSemGetInfo), 1, OS_ERROR); - UT_SetDeferredRetcode(UT_KEY(OS_BinSemGetInfo), 1, OS_ERROR); - UT_SetDeferredRetcode(UT_KEY(OS_CountSemGetInfo), 1, OS_ERROR); - UT_SetDeferredRetcode(UT_KEY(OS_QueueGetInfo), 1, OS_ERROR); - UT_SetDeferredRetcode(UT_KEY(OS_FDGetInfo), 1, OS_ERROR); - UT_Report(__FILE__, __LINE__, - CFE_ES_ListResourcesDebug() == CFE_SUCCESS, - "CFE_ES_ListResourcesDebug", - "Get OS information failures"); } void TestERLog(void) diff --git a/fsw/cfe-core/unit-test/es_UT.h b/fsw/cfe-core/unit-test/es_UT.h index 49d7816d4..982bb24af 100644 --- a/fsw/cfe-core/unit-test/es_UT.h +++ b/fsw/cfe-core/unit-test/es_UT.h @@ -137,7 +137,7 @@ void TestStartupErrorPaths(void); ** \sa #UT_Report, #UT_SetOSFail, #CFE_ES_ParseFileEntry ** \sa #UT_SetBSPloadAppFileResult, #CFE_ES_AppCreate, #UT_SetDummyFuncRtn ** \sa #CFE_ES_LoadLibrary, #CFE_ES_ScanAppTable, #CFE_ES_ProcessControlRequest -** \sa #CFE_ES_ListResourcesDebug, #CFE_ES_GetAppInfo, #CFE_ES_CleanUpApp +** \sa #CFE_ES_GetAppInfo, #CFE_ES_CleanUpApp ** \sa #CFE_ES_CleanupTaskResources ** ******************************************************************************/ diff --git a/fsw/cfe-core/unit-test/fs_UT.c b/fsw/cfe-core/unit-test/fs_UT.c index 3993bed71..16411ea32 100644 --- a/fsw/cfe-core/unit-test/fs_UT.c +++ b/fsw/cfe-core/unit-test/fs_UT.c @@ -39,7 +39,6 @@ ** Includes */ #include "fs_UT.h" -#include "cfe_fs_decompress.h" const char *FS_SYSLOG_MSGS[] = { @@ -48,9 +47,6 @@ const char *FS_SYSLOG_MSGS[] = "FS SharedData Mutex Give Err Stat=0x%x,App=%d,Function=%s\n" }; -static CFE_FS_Decompress_State_t UT_FS_Decompress_State; - - /* ** Functions */ @@ -67,11 +63,8 @@ void UtTest_Setup(void) UT_ADD_TEST(Test_CFE_FS_SetTimestamp); UT_ADD_TEST(Test_CFE_FS_ByteSwapCFEHeader); UT_ADD_TEST(Test_CFE_FS_ByteSwapUint32); - UT_ADD_TEST(Test_CFE_FS_IsGzFile); UT_ADD_TEST(Test_CFE_FS_ExtractFileNameFromPath); UT_ADD_TEST(Test_CFE_FS_Private); - UT_ADD_TEST(Test_CFE_FS_Decompress); - UT_ADD_TEST(Test_CFE_FS_GetUncompressedFile); } /* @@ -248,58 +241,6 @@ void Test_CFE_FS_ByteSwapUint32(void) "Byte swap - successful"); } -/* -** Test FS API is .gz file function -*/ -void Test_CFE_FS_IsGzFile(void) -{ -#ifdef UT_VERBOSE - UT_Text("Begin Test Is .gz File\n"); -#endif - - /* Test if file name ends in .gz with the file name too short */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile("a") == false, - "CFE_FS_IsGzFile", - "File name too short"); - - /* Test if file name ',gz' extension is missing */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile("Normal_gz") == false, - "CFE_FS_IsGzFile", - "File name missing .gz extension 1"); - - /* Test if file name ends in .gz with no file name */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile(NULL) == false, - "CFE_FS_IsGzFile", - "Null file name"); - - /* Test a valid file name ending in .gz */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile("tar.gz") == true, - "CFE_FS_IsGzFile", - ".gz file name check - successful"); - - /* Test if file name ',gz' extension is missing */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile("Normal._z") == false, - "CFE_FS_IsGzFile", - "File name missing .gz extension 2"); - - /* Test if file name ',gz' extension is missing */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - CFE_FS_IsGzFile("Normal.g_") == false, - "CFE_FS_IsGzFile", - "File name missing .gz extension 3"); -} - /* ** Test FS API write extract file name from path function */ @@ -433,153 +374,3 @@ void Test_CFE_FS_Private(void) #endif } -/* -** Tests for FS decompress functions (cfe_fs_decompress.c) -*/ -void Test_CFE_FS_Decompress(void) -{ - int NumBytes = 35400; - -#ifdef UT_VERBOSE - UT_Text("Begin Test Decompress\n"); -#endif - - /* Test file decompression with a file open failure */ - UT_InitData(); - UT_SetForceFail(UT_KEY(OS_open), OS_ERROR); - UT_Report(__FILE__, __LINE__, - CFE_FS_Decompress("Filename.gz", "Output") == - CFE_FS_GZIP_OPEN_INPUT, - "CFE_FS_Decompress", - "Open failed"); - - /* Test file decompression with a file create failure */ - UT_InitData(); - UT_SetForceFail(UT_KEY(OS_creat), OS_ERROR); - UT_Report(__FILE__, __LINE__, - CFE_FS_Decompress_Reentrant(&UT_FS_Decompress_State, - "Filename.gz", "Output") == - CFE_FS_GZIP_OPEN_OUTPUT, - "CFE_FS_Decompress", - "Create failed"); - - /* Test successful file decompression using local buffered data - * instead of real file I/O - */ - UT_InitData(); - UT_SetReadBuffer(fs_gz_test, NumBytes); - UT_Report(__FILE__, __LINE__, - CFE_FS_Decompress_Reentrant(&UT_FS_Decompress_State, - "fs_test.gz", "Output") == - CFE_SUCCESS, - "CFE_FS_Decompress", - "Decompress file - successful"); - - /* Test file decompression with a non-existent file */ - UT_InitData(); - UT_SetReadBuffer(&fs_gz_test[1], NumBytes - 1); - UT_Report(__FILE__, __LINE__, - CFE_FS_Decompress_Reentrant(&UT_FS_Decompress_State, - "fake", "Output") == - CFE_FS_GZIP_NON_ZIP_FILE, - "CFE_FS_Decompress", - "File does not exist"); - - /* Test successful decompression of an inflated type 1 (fixed Huffman - * codes) block - */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - FS_gz_inflate_fixed_Reentrant(&UT_FS_Decompress_State) == - CFE_SUCCESS, - "FS_gz_inflate_fixed", - "Inflated type 1 decompression - successful"); - - /* Test decompressing an inflated type 0 (stored) block */ - UT_InitData(); - UT_Report(__FILE__, __LINE__, - FS_gz_inflate_stored_Reentrant(&UT_FS_Decompress_State) != - CFE_SUCCESS, - "FS_gz_inflate_stored", - "Failed"); - - /* Test filling the input buffer with a FS error */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(OS_read), 1, 4); - UT_SetDeferredRetcode(UT_KEY(OS_read), 1, OS_ERROR); - UT_Report(__FILE__, __LINE__, - FS_gz_fill_inbuf_Reentrant(&UT_FS_Decompress_State) == EOF, - "FS_gz_fill_inbuf", - "gzip read error"); - - /* Test writing the output window and updating the CRC */ - UT_InitData(); - UT_SetDeferredRetcode(UT_KEY(OS_write), 1, -1); - UT_FS_Decompress_State.outcnt = 435; - FS_gz_flush_window_Reentrant(&UT_FS_Decompress_State); - UT_Report(__FILE__, __LINE__, - UT_FS_Decompress_State.outcnt == 0 && - UT_FS_Decompress_State.Error == CFE_FS_GZIP_WRITE_ERROR, - "FS_gz_flush_window", - "Write output - successful"); - -#ifdef UT_VERBOSE - UT_Text("End Test Decompress\n\n"); -#endif -} - -/* - * Test the CFE_FS_GetUncompressedFile() API which is a wrapper - * around CFE_FS_Decompress() that outputs to a temp file - */ -void Test_CFE_FS_GetUncompressedFile(void) -{ - int32 Status; - char OutputNameBuffer[OS_MAX_PATH_LEN + 32]; - - /* nominal run which must have valid gzip data */ - UT_InitData(); - UT_SetReadBuffer(fs_gz_test, 35400); - Status = CFE_FS_GetUncompressedFile(OutputNameBuffer, sizeof(OutputNameBuffer), - "/cf/Filename.gz", "/ramdisk"); - - UT_Report(__FILE__, __LINE__, - Status == CFE_SUCCESS, - "CFE_FS_GetUncompressedFile", - "Nominal Case"); - - UT_Report(__FILE__, __LINE__, - strcmp(OutputNameBuffer, "/ramdisk/Filename") == 0, - "CFE_FS_GetUncompressedFile", - "Output file name correct"); - - /* test case 2: CFE_FS_ExtractFilenameFromPath() fails */ - UT_InitData(); - Status = CFE_FS_GetUncompressedFile(OutputNameBuffer, sizeof(OutputNameBuffer), - NULL, "/Output"); - UT_Report(__FILE__, __LINE__, - Status == CFE_FS_BAD_ARGUMENT, - "CFE_FS_GetUncompressedFile", - "Bad Input Argument"); - - /* test case 3: Length too long */ - UT_InitData(); - Status = CFE_FS_GetUncompressedFile(OutputNameBuffer, 2, - "/cf/Filename.gz", "/ramdisk"); - UT_Report(__FILE__, __LINE__, - Status == CFE_FS_FNAME_TOO_LONG, - "CFE_FS_GetUncompressedFile", - "Name Too Long"); - - /* test case 4: CFE_FS_Decompress() fails */ - UT_InitData(); - UT_SetForceFail(UT_KEY(OS_open), OS_ERROR); - Status = CFE_FS_GetUncompressedFile(OutputNameBuffer, sizeof(OutputNameBuffer), - "/cf/Filename.gz", "/ramdisk"); - UT_Report(__FILE__, __LINE__, - Status == CFE_FS_GZIP_OPEN_INPUT, - "CFE_FS_GetUncompressedFile", - "Decompress failure"); - -} - diff --git a/fsw/cfe-core/unit-test/fs_UT.h b/fsw/cfe-core/unit-test/fs_UT.h index e279d18fe..0b522ce63 100644 --- a/fsw/cfe-core/unit-test/fs_UT.h +++ b/fsw/cfe-core/unit-test/fs_UT.h @@ -49,7 +49,6 @@ #include "cfe_fs_priv.h" #include "common_types.h" #include "ut_support.h" -#include "ut_fs_zipfile.h" /* FS unit test functions */ /*****************************************************************************/ diff --git a/fsw/cfe-core/unit-test/ut_fs_zipfile.h b/fsw/cfe-core/unit-test/ut_fs_zipfile.h deleted file mode 100644 index 4ff2e7ecc..000000000 --- a/fsw/cfe-core/unit-test/ut_fs_zipfile.h +++ /dev/null @@ -1,385 +0,0 @@ -/* -** GSC-18128-1, "Core Flight Executive Version 6.7" -** -** Copyright (c) 2006-2019 United States Government as represented by -** the Administrator of the National Aeronautics and Space Administration. -** All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -/* This file represents the contents of a compressed (zipped) file for use by -** the FS unit tests -*/ - -#ifndef _ut_fs_zipfile_h_ -#define _ut_fs_zipfile_h_ - -static unsigned char fs_gz_test[] = { - 31, 139, 8, 8, 60, 114, 165, 72, 0, 3, 102, 115, 95, 85, 84, 0, 236, 91, 125, 116, 20, 85, 150, 175, 234, 143, 164, 3, 113, 186, 117, 178, 67, 84, 192, 0, 209, 73, 6, 23, 195, 138, 14, 136, 172, 129, 67, 205, 196, 25, 162, 81, 105, 97, 69, 37, 138, 104, 112, 249, 200, 144, 52, 31, 139, 145, 96, 119, 75, 202, 162, 103, 178, 35, 217, 201, 30, 153, 57, 8, 156, 49, 199, 101, 220, 172, 135, 13, 89, 7, 216, 6, 115, 210, 13, 228, 56, 97, 96, 48, - 42, 123, 108, 177, 117, 58, 118, 102, 204, 174, 172, 176, 248, 209, 123, 239, 123, 245, 170, 110, 117, 119, 2, 36, 243, 167, 125, 78, 167, 187, 234, 189, 123, 223, 239, 254, 238, 125, 247, 190, 247, 170, 243, 214, 197, 63, 125, 157, 43, 73, 146, 29, 222, 54, 120, 231, 195, 187, 215, 33, 73, 65, 248, 148, 225, 61, 19, 222, 75, 151, 86, 205, 253, 161, 242, 144, 114, 255, 189, 146, 249, 242, 72, 67, 190, 80, 46, 204, 228, 22, 42, 139, 23, 166, 203, 200, 70, 47, 28, 215, - 169, 143, 43, 177, 254, 245, 203, 55, 212, 155, 221, 51, 228, 11, 37, 105, 238, 7, 240, 233, 146, 36, 7, 29, 208, 33, 53, 154, 50, 203, 234, 234, 215, 174, 88, 253, 212, 16, 58, 230, 255, 159, 36, 237, 255, 14, 124, 246, 155, 227, 74, 146, 245, 59, 34, 220, 38, 163, 236, 252, 185, 11, 231, 82, 252, 112, 179, 220, 201, 123, 20, 73, 146, 224, 205, 105, 140, 245, 196, 99, 245, 143, 81, 252, 153, 242, 5, 5, 124, 4, 167, 148, 253, 5, 58, 54, 174, 124, 98, 104, - 29, 5, 197, 50, 154, 15, 122, 100, 11, 102, 171, 142, 85, 107, 158, 88, 186, 98, 245, 138, 250, 165, 79, 250, 86, 47, 203, 208, 49, 30, 116, 84, 227, 103, 154, 142, 60, 139, 142, 101, 107, 86, 173, 90, 179, 122, 40, 28, 141, 160, 99, 231, 87, 220, 11, 212, 22, 153, 124, 95, 186, 244, 241, 186, 58, 203, 181, 85, 71, 209, 228, 28, 169, 121, 162, 52, 172, 14, 51, 150, 238, 174, 172, 186, 247, 126, 211, 147, 85, 57, 60, 158, 138, 100, 246, 137, 190, 192, 183, 25, - 75, 181, 107, 86, 172, 174, 95, 190, 182, 78, 92, 103, 202, 239, 147, 185, 60, 229, 32, 199, 130, 247, 105, 223, 170, 218, 165, 245, 143, 61, 190, 114, 121, 54, 29, 225, 251, 114, 164, 143, 241, 115, 146, 108, 145, 195, 240, 92, 165, 219, 100, 206, 161, 5, 119, 223, 243, 99, 101, 254, 221, 66, 186, 26, 36, 154, 225, 179, 76, 150, 246, 60, 207, 177, 83, 187, 17, 83, 161, 196, 219, 255, 12, 138, 182, 111, 148, 37, 207, 28, 73, 26, 139, 208, 245, 62, 171, 28, 252, 125, - 31, 8, 30, 130, 62, 101, 210, 208, 175, 146, 245, 178, 244, 82, 150, 251, 223, 130, 247, 120, 137, 207, 251, 91, 124, 117, 107, 111, 89, 185, 226, 241, 91, 244, 16, 188, 94, 199, 112, 204, 241, 122, 249, 131, 127, 171, 116, 140, 89, 164, 205, 125, 117, 239, 249, 201, 78, 29, 3, 226, 29, 38, 13, 100, 190, 10, 179, 223, 198, 177, 103, 232, 205, 220, 23, 50, 123, 27, 120, 224, 253, 212, 178, 101, 75, 235, 166, 77, 159, 6, 208, 86, 60, 158, 69, 70, 150, 215, 100, 200, - 60, 176, 177, 174, 126, 249, 170, 105, 243, 12, 161, 111, 94, 223, 188, 190, 121, 89, 94, 79, 75, 234, 71, 254, 248, 160, 127, 192, 163, 61, 226, 80, 31, 46, 150, 66, 149, 46, 117, 65, 177, 195, 255, 166, 124, 248, 67, 155, 124, 28, 110, 185, 18, 56, 29, 207, 121, 213, 143, 22, 61, 248, 128, 127, 224, 102, 205, 151, 175, 61, 226, 209, 20, 151, 122, 155, 11, 42, 154, 58, 193, 1, 127, 119, 231, 195, 31, 237, 91, 193, 163, 234, 49, 223, 213, 255, 129, 85, 54, 121, - 245, 157, 183, 212, 219, 231, 37, 237, 243, 212, 19, 238, 14, 91, 32, 236, 251, 84, 237, 83, 175, 194, 34, 152, 180, 251, 195, 14, 205, 19, 252, 189, 239, 124, 104, 131, 227, 101, 204, 197, 154, 20, 12, 215, 219, 82, 189, 47, 187, 200, 69, 98, 202, 172, 28, 41, 164, 196, 212, 249, 197, 142, 136, 163, 184, 2, 180, 38, 118, 3, 150, 148, 55, 6, 151, 127, 117, 45, 92, 230, 64, 143, 196, 70, 214, 45, 174, 119, 219, 128, 221, 158, 129, 110, 154, 18, 7, 61, 46, 213, - 81, 156, 120, 127, 102, 142, 244, 178, 3, 84, 71, 152, 213, 8, 254, 153, 226, 124, 52, 78, 173, 47, 118, 96, 143, 47, 254, 83, 146, 240, 243, 45, 232, 9, 166, 250, 7, 74, 34, 243, 139, 89, 118, 131, 207, 124, 253, 211, 165, 127, 178, 186, 7, 67, 225, 71, 66, 130, 209, 143, 190, 9, 223, 106, 48, 27, 166, 110, 196, 18, 221, 156, 186, 177, 16, 62, 64, 17, 48, 54, 35, 129, 253, 150, 36, 166, 35, 76, 127, 135, 43, 71, 242, 75, 178, 191, 202, 1, 23, 55, - 197, 248, 168, 43, 238, 145, 244, 166, 80, 185, 203, 104, 237, 190, 29, 185, 224, 144, 67, 254, 99, 228, 42, 29, 11, 26, 4, 106, 174, 15, 129, 186, 35, 33, 255, 105, 214, 85, 245, 136, 111, 72, 232, 198, 165, 98, 0, 143, 62, 0, 10, 129, 124, 200, 127, 135, 142, 226, 161, 221, 38, 138, 162, 12, 140, 155, 1, 99, 68, 137, 67, 5, 234, 22, 157, 74, 244, 78, 253, 237, 178, 41, 89, 168, 223, 68, 108, 50, 195, 150, 143, 226, 111, 172, 224, 216, 118, 25, 216, 118, - 101, 193, 86, 102, 96, 203, 231, 216, 158, 214, 71, 63, 180, 203, 28, 161, 60, 3, 219, 135, 149, 12, 219, 24, 130, 173, 66, 96, 43, 32, 216, 102, 26, 146, 191, 231, 48, 142, 116, 214, 142, 3, 21, 64, 167, 160, 82, 45, 40, 78, 76, 252, 126, 142, 33, 82, 101, 136, 252, 90, 136, 96, 161, 73, 23, 73, 222, 110, 138, 44, 54, 68, 94, 167, 62, 43, 231, 97, 83, 206, 60, 151, 152, 120, 23, 231, 131, 139, 84, 235, 34, 170, 247, 156, 73, 12, 179, 251, 41, 19, - 125, 141, 161, 247, 52, 233, 177, 131, 244, 168, 205, 96, 230, 232, 2, 244, 192, 57, 85, 137, 139, 62, 27, 12, 138, 227, 254, 174, 25, 75, 142, 190, 201, 163, 212, 161, 71, 169, 198, 12, 241, 228, 192, 223, 198, 70, 184, 99, 104, 116, 205, 160, 209, 88, 96, 185, 186, 211, 114, 53, 195, 114, 85, 66, 174, 252, 93, 14, 62, 32, 75, 37, 207, 232, 67, 22, 178, 33, 143, 222, 202, 108, 130, 192, 120, 153, 127, 147, 102, 29, 169, 187, 137, 222, 255, 37, 251, 230, 238, 112, - 120, 154, 148, 151, 230, 137, 22, 213, 147, 156, 6, 109, 78, 4, 220, 100, 2, 78, 252, 20, 102, 45, 244, 19, 77, 205, 102, 147, 187, 67, 121, 169, 73, 57, 21, 242, 255, 230, 86, 17, 129, 245, 55, 68, 148, 29, 249, 44, 124, 120, 247, 86, 179, 123, 255, 172, 124, 233, 138, 241, 237, 202, 138, 111, 39, 193, 247, 231, 177, 136, 111, 151, 104, 106, 163, 248, 188, 187, 154, 188, 127, 24, 22, 95, 59, 193, 247, 207, 160, 41, 4, 246, 188, 24, 252, 47, 112, 186, 178, 93, - 245, 54, 71, 148, 109, 184, 44, 250, 82, 243, 109, 215, 26, 154, 181, 202, 109, 159, 253, 186, 19, 201, 174, 31, 227, 238, 248, 65, 202, 221, 113, 111, 170, 52, 10, 90, 239, 17, 234, 58, 137, 167, 81, 83, 19, 211, 212, 164, 122, 3, 17, 165, 81, 215, 212, 164, 53, 4, 180, 202, 198, 172, 154, 220, 193, 147, 99, 134, 36, 233, 102, 227, 190, 20, 170, 146, 77, 94, 196, 224, 81, 115, 240, 100, 161, 184, 25, 38, 84, 189, 201, 116, 15, 195, 70, 47, 97, 67, 27, 26, - 200, 144, 222, 218, 157, 213, 91, 125, 4, 66, 249, 24, 244, 214, 110, 209, 20, 179, 68, 211, 238, 38, 229, 244, 176, 248, 18, 4, 95, 50, 111, 72, 124, 165, 217, 241, 185, 59, 194, 170, 178, 135, 66, 156, 46, 20, 15, 18, 136, 191, 4, 197, 188, 171, 104, 189, 96, 182, 106, 222, 61, 170, 183, 111, 88, 144, 184, 236, 22, 32, 127, 48, 52, 200, 105, 67, 131, 60, 124, 248, 3, 151, 90, 217, 70, 145, 222, 46, 180, 187, 76, 237, 137, 207, 92, 28, 105, 247, 225, 143, - 93, 170, 175, 77, 116, 241, 200, 36, 8, 251, 180, 134, 182, 188, 153, 195, 2, 46, 36, 128, 91, 92, 35, 4, 236, 81, 43, 247, 102, 5, 92, 68, 0, 207, 51, 1, 123, 84, 223, 94, 209, 165, 36, 13, 240, 222, 75, 0, 46, 35, 128, 227, 185, 35, 4, 92, 168, 86, 182, 103, 5, 60, 147, 0, 254, 199, 92, 3, 112, 161, 234, 107, 23, 93, 202, 211, 0, 183, 95, 2, 112, 5, 1, 124, 235, 208, 128, 47, 53, 193, 23, 203, 89, 38, 120, 21, 129, 123, 54, 231, - 18, 19, 188, 154, 0, 121, 53, 103, 196, 64, 106, 179, 1, 169, 33, 64, 254, 238, 82, 64, 26, 9, 144, 73, 172, 51, 191, 191, 65, 166, 9, 225, 244, 137, 132, 63, 38, 7, 194, 238, 192, 114, 121, 68, 179, 125, 95, 214, 217, 222, 68, 144, 254, 171, 83, 159, 237, 251, 140, 10, 103, 182, 106, 202, 62, 85, 137, 13, 95, 224, 136, 33, 139, 157, 67, 130, 188, 107, 72, 144, 135, 99, 46, 85, 233, 156, 151, 73, 114, 27, 33, 121, 134, 81, 249, 8, 244, 115, 14, 6, - 157, 43, 48, 10, 26, 13, 205, 152, 230, 237, 204, 243, 12, 139, 191, 147, 224, 111, 101, 10, 149, 211, 135, 19, 54, 157, 118, 217, 54, 34, 218, 15, 100, 165, 61, 76, 176, 207, 116, 232, 180, 31, 48, 170, 23, 161, 189, 242, 128, 90, 25, 31, 190, 82, 17, 216, 31, 216, 71, 74, 123, 56, 11, 237, 177, 108, 180, 247, 17, 232, 13, 118, 147, 246, 176, 81, 153, 40, 237, 113, 205, 23, 206, 43, 163, 248, 221, 1, 92, 151, 164, 217, 48, 72, 108, 152, 96, 55, 231, 128, - 203, 70, 150, 139, 35, 154, 159, 23, 136, 13, 206, 68, 143, 237, 18, 147, 81, 50, 7, 236, 223, 142, 157, 149, 120, 202, 229, 111, 136, 167, 220, 193, 154, 84, 42, 197, 67, 194, 174, 135, 132, 27, 116, 119, 43, 239, 203, 70, 181, 33, 194, 253, 146, 105, 69, 249, 37, 173, 24, 114, 25, 209, 77, 195, 231, 250, 68, 190, 13, 215, 12, 102, 185, 178, 209, 20, 209, 221, 164, 188, 221, 216, 240, 118, 170, 126, 146, 81, 112, 232, 192, 195, 88, 93, 66, 128, 255, 10, 140, 2, - 45, 146, 111, 28, 152, 102, 152, 80, 70, 53, 233, 197, 193, 188, 213, 216, 240, 190, 228, 14, 94, 101, 16, 228, 208, 9, 250, 27, 157, 32, 11, 27, 181, 35, 103, 35, 98, 101, 227, 107, 9, 217, 136, 24, 165, 133, 178, 225, 141, 52, 121, 211, 216, 168, 186, 76, 54, 22, 19, 54, 112, 141, 159, 201, 70, 117, 38, 27, 53, 217, 216, 48, 82, 185, 217, 152, 156, 36, 198, 142, 224, 81, 169, 89, 5, 178, 129, 83, 149, 29, 70, 162, 182, 145, 84, 188, 195, 223, 245, 204, - 146, 71, 151, 138, 141, 150, 56, 14, 152, 92, 138, 187, 158, 127, 185, 137, 238, 149, 94, 185, 224, 196, 68, 78, 181, 243, 14, 154, 167, 19, 31, 114, 168, 135, 75, 79, 24, 183, 216, 246, 241, 21, 246, 93, 134, 111, 17, 113, 119, 65, 177, 75, 93, 200, 79, 53, 46, 174, 231, 155, 76, 174, 183, 213, 212, 11, 251, 76, 127, 195, 57, 169, 190, 78, 180, 237, 52, 219, 160, 33, 85, 255, 144, 104, 104, 75, 107, 152, 43, 26, 218, 179, 161, 132, 173, 38, 98, 225, 151, 56, - 175, 5, 214, 57, 169, 205, 144, 125, 158, 191, 153, 241, 44, 110, 6, 195, 62, 112, 103, 60, 197, 110, 114, 173, 157, 196, 157, 91, 113, 249, 10, 99, 250, 190, 23, 242, 239, 215, 121, 130, 117, 105, 119, 154, 72, 152, 248, 107, 81, 200, 127, 156, 176, 35, 6, 10, 57, 108, 120, 121, 220, 128, 117, 82, 87, 39, 115, 218, 111, 226, 81, 203, 51, 123, 92, 40, 142, 82, 47, 90, 54, 203, 197, 186, 15, 31, 253, 46, 250, 240, 195, 207, 177, 119, 47, 229, 227, 189, 98, 51, - 131, 42, 108, 9, 192, 59, 245, 101, 235, 196, 79, 58, 78, 178, 43, 244, 218, 233, 233, 18, 109, 85, 6, 141, 70, 229, 92, 114, 129, 80, 117, 129, 58, 102, 64, 218, 12, 161, 250, 89, 49, 183, 202, 197, 66, 149, 119, 139, 17, 35, 188, 3, 33, 101, 176, 20, 156, 52, 0, 108, 128, 167, 60, 66, 4, 252, 131, 50, 245, 139, 132, 84, 130, 72, 85, 158, 11, 249, 127, 87, 44, 252, 59, 136, 39, 31, 120, 68, 136, 167, 30, 206, 85, 60, 190, 184, 208, 32, 141, 175, - 1, 24, 101, 182, 50, 232, 14, 46, 96, 174, 250, 162, 216, 244, 138, 176, 76, 247, 10, 111, 66, 175, 188, 87, 76, 39, 3, 87, 138, 143, 216, 132, 153, 93, 197, 220, 3, 15, 62, 176, 101, 32, 236, 196, 179, 55, 230, 133, 190, 27, 209, 11, 143, 252, 47, 118, 119, 153, 221, 187, 149, 243, 80, 17, 2, 234, 145, 206, 249, 82, 230, 25, 207, 29, 32, 132, 39, 96, 193, 149, 23, 83, 41, 205, 155, 175, 182, 84, 195, 151, 228, 183, 133, 34, 143, 169, 72, 11, 177, 62, - 178, 182, 48, 24, 152, 167, 194, 31, 63, 19, 114, 164, 66, 40, 226, 63, 136, 127, 37, 95, 183, 166, 4, 102, 43, 249, 190, 169, 154, 50, 94, 63, 241, 9, 86, 97, 11, 51, 134, 43, 45, 52, 149, 246, 239, 206, 195, 147, 153, 241, 232, 213, 190, 72, 240, 9, 232, 137, 193, 152, 188, 67, 244, 45, 33, 0, 88, 179, 54, 63, 24, 128, 25, 51, 57, 197, 174, 68, 183, 34, 194, 207, 65, 108, 240, 172, 59, 200, 251, 171, 193, 26, 148, 82, 250, 84, 229, 140, 214, 130, - 119, 102, 121, 207, 212, 77, 214, 66, 172, 177, 178, 143, 183, 8, 61, 101, 166, 158, 72, 16, 45, 242, 88, 208, 148, 83, 52, 213, 20, 13, 35, 65, 116, 155, 73, 209, 112, 94, 14, 242, 254, 170, 210, 171, 49, 138, 1, 196, 58, 0, 81, 157, 13, 68, 5, 25, 197, 59, 30, 219, 108, 28, 46, 174, 246, 164, 147, 49, 152, 156, 201, 135, 69, 231, 197, 180, 115, 220, 228, 72, 61, 81, 122, 88, 141, 66, 87, 88, 9, 72, 27, 221, 220, 11, 224, 247, 238, 254, 50, 8, - 114, 157, 61, 37, 126, 162, 72, 40, 170, 74, 183, 109, 22, 235, 179, 246, 159, 152, 218, 234, 172, 106, 39, 155, 106, 133, 154, 106, 226, 220, 110, 216, 44, 113, 27, 117, 5, 16, 53, 144, 67, 48, 226, 231, 135, 2, 220, 221, 236, 224, 86, 247, 212, 51, 12, 83, 192, 31, 118, 240, 128, 12, 5, 55, 96, 104, 133, 97, 169, 22, 75, 206, 18, 35, 212, 16, 160, 45, 44, 38, 109, 50, 83, 160, 7, 164, 6, 11, 103, 238, 93, 23, 172, 161, 253, 82, 90, 132, 118, 26, - 241, 206, 61, 140, 0, 204, 128, 223, 144, 161, 252, 26, 149, 69, 13, 15, 43, 201, 221, 18, 214, 135, 9, 132, 235, 111, 227, 1, 165, 5, 90, 16, 167, 238, 205, 109, 193, 3, 240, 81, 174, 242, 155, 66, 111, 173, 169, 55, 21, 52, 25, 129, 169, 178, 54, 96, 226, 224, 177, 161, 114, 201, 16, 234, 81, 217, 172, 139, 40, 167, 48, 215, 99, 40, 28, 57, 255, 174, 218, 82, 207, 208, 223, 153, 226, 82, 145, 96, 173, 46, 31, 81, 88, 50, 232, 127, 219, 105, 206, 54, - 143, 131, 248, 181, 70, 184, 81, 137, 246, 191, 64, 58, 117, 154, 240, 66, 48, 22, 164, 187, 62, 57, 84, 207, 38, 78, 239, 212, 96, 61, 139, 220, 132, 166, 36, 102, 43, 103, 214, 141, 69, 24, 193, 133, 152, 39, 198, 107, 222, 132, 218, 178, 144, 216, 217, 72, 19, 198, 66, 22, 221, 9, 62, 172, 174, 134, 7, 168, 53, 156, 123, 52, 37, 90, 62, 91, 233, 113, 251, 95, 64, 18, 188, 81, 77, 233, 41, 237, 173, 192, 6, 38, 122, 56, 134, 41, 82, 9, 200, 189, - 108, 63, 199, 71, 106, 50, 71, 74, 42, 226, 102, 43, 181, 163, 7, 130, 155, 5, 0, 70, 132, 4, 250, 235, 166, 225, 55, 15, 180, 148, 122, 132, 68, 51, 117, 12, 195, 198, 254, 206, 86, 18, 107, 95, 77, 131, 153, 8, 249, 87, 76, 225, 73, 219, 174, 36, 202, 231, 36, 64, 116, 157, 62, 179, 156, 56, 179, 78, 59, 144, 81, 189, 143, 71, 237, 149, 195, 50, 188, 49, 187, 111, 156, 194, 23, 40, 106, 75, 45, 35, 75, 232, 97, 101, 141, 40, 101, 251, 1, 126, - 141, 165, 64, 168, 10, 249, 127, 50, 69, 44, 53, 215, 125, 55, 243, 190, 106, 152, 179, 211, 52, 167, 177, 225, 188, 84, 63, 69, 171, 132, 26, 52, 24, 170, 149, 67, 47, 50, 16, 215, 168, 81, 128, 133, 239, 94, 152, 103, 79, 170, 101, 73, 88, 38, 158, 151, 133, 124, 27, 241, 31, 84, 57, 101, 0, 228, 179, 75, 70, 36, 140, 142, 83, 126, 22, 124, 57, 26, 51, 76, 221, 206, 130, 18, 234, 107, 10, 202, 241, 41, 201, 29, 216, 202, 158, 125, 156, 50, 230, 198, - 6, 158, 140, 155, 130, 155, 217, 202, 155, 207, 219, 176, 167, 41, 248, 44, 139, 239, 193, 39, 85, 229, 57, 141, 69, 222, 84, 72, 139, 108, 98, 156, 76, 232, 65, 163, 156, 170, 208, 248, 0, 220, 71, 114, 216, 174, 127, 202, 71, 52, 166, 64, 181, 185, 247, 43, 207, 61, 169, 206, 115, 8, 123, 218, 105, 86, 67, 181, 118, 165, 111, 54, 11, 42, 247, 182, 212, 151, 8, 161, 133, 93, 116, 240, 232, 60, 81, 2, 217, 141, 131, 211, 148, 124, 30, 119, 108, 62, 203, 189, - 179, 217, 180, 95, 159, 223, 205, 70, 90, 214, 127, 136, 205, 87, 158, 127, 102, 43, 158, 186, 167, 68, 129, 156, 131, 83, 113, 125, 94, 119, 112, 9, 214, 143, 228, 117, 252, 139, 91, 32, 10, 155, 136, 96, 84, 108, 210, 141, 215, 117, 1, 3, 141, 122, 138, 17, 34, 81, 18, 234, 63, 18, 195, 76, 85, 60, 64, 128, 82, 232, 222, 47, 89, 21, 232, 13, 5, 208, 144, 69, 87, 47, 157, 160, 108, 94, 50, 182, 201, 92, 100, 164, 187, 59, 216, 109, 193, 189, 255, 32, - 75, 49, 190, 114, 161, 166, 143, 230, 73, 54, 97, 188, 137, 186, 44, 229, 32, 70, 202, 193, 126, 89, 146, 178, 106, 55, 231, 111, 34, 189, 220, 155, 62, 214, 66, 108, 234, 20, 184, 210, 93, 13, 201, 130, 231, 127, 3, 200, 218, 118, 110, 218, 221, 194, 42, 62, 202, 141, 98, 148, 65, 202, 1, 54, 77, 103, 225, 121, 226, 55, 79, 24, 137, 121, 10, 19, 129, 210, 126, 156, 227, 152, 30, 164, 5, 254, 2, 113, 200, 36, 113, 83, 114, 88, 114, 168, 75, 243, 246, 149, - 182, 24, 220, 10, 147, 99, 21, 60, 201, 79, 58, 130, 211, 34, 192, 38, 196, 172, 35, 190, 55, 66, 74, 20, 119, 237, 81, 216, 181, 63, 240, 21, 216, 199, 98, 212, 88, 207, 165, 231, 240, 217, 74, 175, 251, 167, 215, 161, 99, 160, 12, 215, 27, 134, 21, 154, 253, 252, 13, 189, 114, 125, 126, 36, 248, 240, 69, 125, 73, 53, 129, 127, 167, 11, 177, 34, 162, 182, 229, 97, 86, 121, 170, 200, 168, 37, 116, 84, 108, 216, 210, 133, 235, 205, 37, 143, 166, 111, 226, 30, - 185, 30, 151, 158, 239, 22, 210, 117, 235, 105, 203, 213, 39, 150, 171, 179, 159, 176, 181, 22, 229, 107, 144, 61, 118, 198, 85, 169, 194, 247, 100, 19, 197, 243, 58, 222, 185, 220, 236, 220, 255, 43, 162, 100, 166, 131, 230, 43, 216, 25, 239, 75, 206, 21, 109, 21, 100, 0, 29, 15, 158, 184, 92, 16, 23, 152, 53, 191, 117, 173, 184, 157, 18, 23, 236, 137, 177, 222, 219, 127, 33, 119, 125, 187, 208, 87, 101, 234, 75, 92, 252, 31, 172, 202, 113, 106, 207, 98, 10, 37, - 235, 70, 233, 182, 235, 144, 167, 35, 227, 68, 238, 31, 8, 249, 95, 51, 46, 6, 251, 143, 51, 101, 111, 244, 179, 117, 8, 197, 254, 241, 56, 145, 238, 15, 141, 163, 39, 120, 230, 253, 55, 198, 89, 78, 240, 206, 204, 19, 141, 170, 39, 57, 49, 161, 14, 226, 148, 11, 179, 37, 38, 87, 95, 77, 176, 86, 14, 106, 222, 51, 39, 207, 134, 148, 1, 60, 108, 60, 54, 206, 56, 100, 184, 209, 188, 98, 117, 151, 139, 214, 16, 79, 220, 199, 142, 155, 6, 253, 146, 75, - 180, 214, 210, 8, 28, 132, 2, 48, 149, 165, 82, 216, 106, 249, 207, 202, 184, 242, 130, 234, 59, 112, 162, 4, 43, 132, 203, 98, 112, 235, 168, 12, 142, 91, 13, 110, 253, 84, 55, 56, 46, 212, 55, 166, 25, 28, 191, 124, 131, 155, 136, 193, 120, 2, 111, 53, 184, 217, 98, 176, 236, 126, 94, 55, 216, 31, 179, 227, 138, 65, 25, 56, 92, 98, 67, 9, 248, 43, 60, 239, 29, 192, 16, 211, 61, 239, 29, 84, 61, 254, 134, 132, 228, 251, 190, 208, 184, 147, 132, 217, - 217, 235, 217, 140, 8, 249, 59, 198, 145, 3, 195, 14, 221, 210, 126, 246, 192, 178, 33, 33, 251, 238, 22, 194, 109, 68, 248, 157, 66, 171, 112, 185, 131, 74, 87, 57, 132, 76, 187, 41, 147, 92, 1, 234, 108, 166, 186, 78, 162, 238, 225, 177, 105, 234, 92, 22, 117, 6, 35, 97, 162, 238, 186, 136, 114, 142, 151, 3, 222, 22, 165, 115, 228, 28, 33, 185, 151, 54, 196, 140, 61, 46, 123, 66, 190, 82, 159, 62, 159, 127, 7, 167, 143, 191, 64, 120, 8, 162, 121, 77, - 1, 113, 87, 157, 113, 209, 163, 121, 129, 225, 77, 167, 32, 237, 238, 119, 84, 185, 247, 67, 36, 156, 210, 188, 5, 105, 183, 250, 244, 0, 220, 244, 49, 43, 10, 52, 0, 95, 41, 16, 129, 182, 185, 128, 6, 160, 121, 127, 83, 129, 37, 0, 91, 231, 137, 70, 22, 128, 227, 254, 164, 7, 96, 171, 80, 223, 71, 3, 48, 166, 121, 91, 49, 0, 207, 96, 0, 106, 5, 52, 0, 53, 195, 136, 29, 66, 52, 70, 2, 176, 7, 31, 73, 226, 162, 214, 37, 90, 19, 148, - 57, 207, 108, 37, 230, 222, 90, 202, 66, 16, 44, 62, 51, 233, 136, 88, 133, 218, 97, 238, 193, 230, 19, 234, 134, 126, 192, 19, 246, 55, 132, 61, 238, 231, 95, 199, 195, 230, 134, 240, 50, 60, 131, 218, 97, 103, 174, 226, 122, 47, 144, 81, 31, 100, 187, 116, 16, 45, 151, 221, 29, 81, 192, 125, 178, 196, 184, 236, 5, 56, 176, 156, 6, 125, 37, 30, 11, 161, 133, 206, 209, 16, 186, 211, 74, 104, 119, 82, 39, 116, 167, 80, 47, 57, 173, 132, 238, 188, 124, 66, - 93, 166, 104, 255, 38, 87, 58, 161, 30, 39, 13, 197, 217, 74, 216, 253, 28, 39, 180, 215, 189, 191, 220, 225, 222, 31, 213, 188, 97, 75, 36, 77, 129, 72, 116, 200, 44, 217, 108, 21, 198, 41, 113, 183, 127, 11, 33, 163, 136, 40, 245, 198, 233, 214, 224, 23, 76, 4, 247, 196, 89, 220, 179, 245, 177, 175, 177, 30, 115, 29, 37, 20, 216, 112, 206, 96, 162, 193, 151, 177, 234, 163, 87, 175, 34, 94, 157, 73, 76, 111, 204, 53, 241, 149, 81, 54, 123, 184, 173, 236, - 92, 234, 239, 25, 188, 166, 2, 216, 75, 247, 164, 164, 45, 13, 61, 120, 2, 235, 14, 62, 251, 149, 137, 171, 156, 58, 90, 159, 132, 222, 30, 213, 147, 248, 67, 18, 139, 100, 143, 68, 120, 168, 32, 227, 223, 241, 21, 174, 95, 194, 110, 119, 224, 223, 115, 96, 211, 74, 99, 167, 102, 84, 177, 179, 199, 26, 59, 47, 244, 235, 177, 179, 71, 168, 175, 74, 139, 157, 61, 151, 31, 59, 139, 137, 1, 119, 229, 164, 199, 78, 245, 112, 177, 99, 27, 38, 118, 186, 180, 202, - 48, 119, 37, 116, 64, 31, 90, 232, 104, 26, 21, 29, 109, 86, 58, 54, 37, 116, 58, 218, 132, 250, 218, 52, 58, 218, 46, 159, 142, 13, 132, 14, 140, 33, 43, 29, 141, 148, 142, 2, 146, 155, 250, 210, 114, 83, 126, 214, 220, 244, 218, 80, 185, 169, 153, 140, 250, 134, 99, 4, 185, 169, 125, 84, 132, 238, 181, 18, 250, 189, 63, 234, 132, 238, 21, 234, 91, 211, 8, 221, 123, 249, 132, 238, 36, 166, 189, 111, 79, 39, 180, 237, 47, 147, 155, 234, 254, 65, 40, 236, - 28, 97, 94, 90, 78, 242, 82, 248, 114, 243, 82, 255, 39, 252, 49, 42, 77, 72, 81, 98, 239, 167, 54, 211, 67, 137, 81, 121, 168, 221, 234, 161, 166, 143, 116, 15, 181, 11, 245, 189, 105, 30, 106, 191, 124, 15, 245, 17, 196, 115, 108, 233, 30, 138, 93, 34, 3, 0, 151, 61, 248, 0, 43, 139, 163, 212, 99, 165, 48, 37, 84, 37, 154, 158, 11, 240, 120, 82, 47, 35, 57, 100, 207, 20, 221, 82, 132, 207, 147, 52, 37, 170, 42, 219, 49, 227, 122, 247, 105, 202, - 246, 89, 202, 190, 186, 107, 53, 239, 118, 184, 50, 150, 54, 38, 38, 246, 0, 109, 42, 254, 48, 34, 172, 41, 93, 170, 178, 13, 198, 80, 189, 205, 154, 178, 109, 150, 210, 188, 14, 228, 182, 193, 149, 177, 4, 160, 182, 52, 163, 8, 2, 234, 42, 245, 136, 35, 58, 48, 111, 109, 53, 92, 136, 50, 17, 202, 183, 1, 14, 227, 202, 97, 67, 237, 17, 245, 173, 47, 213, 19, 159, 237, 97, 194, 61, 178, 135, 125, 70, 241, 177, 139, 94, 200, 77, 155, 240, 32, 64, 47, - 209, 57, 150, 122, 100, 14, 225, 238, 40, 240, 164, 87, 37, 220, 59, 195, 159, 48, 110, 160, 195, 146, 239, 183, 122, 149, 242, 221, 101, 148, 244, 156, 33, 42, 212, 173, 31, 101, 84, 168, 66, 179, 175, 191, 161, 11, 74, 93, 35, 45, 193, 102, 99, 255, 166, 207, 241, 62, 209, 102, 172, 77, 189, 103, 240, 66, 95, 155, 122, 99, 170, 7, 98, 158, 14, 81, 70, 140, 195, 7, 163, 43, 141, 7, 163, 91, 6, 2, 230, 19, 157, 156, 124, 92, 239, 190, 152, 71, 182, 139, - 155, 141, 139, 193, 254, 183, 153, 70, 237, 61, 86, 208, 168, 129, 251, 243, 196, 172, 248, 89, 158, 49, 91, 110, 166, 247, 181, 60, 58, 91, 130, 123, 96, 111, 63, 79, 180, 195, 132, 153, 148, 88, 116, 150, 79, 24, 214, 36, 6, 153, 73, 125, 50, 168, 181, 96, 155, 177, 141, 122, 41, 207, 152, 54, 37, 230, 149, 26, 108, 35, 10, 202, 9, 123, 127, 157, 111, 238, 164, 120, 107, 5, 37, 126, 208, 225, 126, 254, 6, 177, 147, 186, 193, 41, 203, 184, 247, 136, 179, 237, - 148, 147, 109, 167, 156, 22, 251, 107, 71, 101, 255, 222, 76, 251, 63, 208, 237, 223, 75, 224, 47, 78, 179, 127, 239, 149, 218, 95, 77, 237, 31, 155, 110, 127, 205, 208, 246, 151, 139, 173, 100, 54, 219, 155, 71, 101, 123, 123, 134, 237, 75, 98, 186, 237, 237, 4, 250, 134, 52, 219, 219, 175, 212, 246, 70, 98, 251, 244, 49, 233, 182, 55, 89, 108, 183, 19, 219, 221, 248, 52, 8, 118, 119, 104, 189, 131, 89, 239, 216, 210, 16, 159, 8, 241, 176, 254, 90, 33, 221, 74, - 165, 19, 19, 215, 77, 142, 176, 161, 249, 138, 129, 119, 217, 73, 134, 127, 61, 15, 171, 80, 148, 61, 41, 153, 40, 155, 68, 134, 71, 69, 228, 190, 12, 34, 175, 121, 95, 39, 114, 31, 225, 161, 45, 141, 200, 125, 87, 74, 100, 59, 177, 36, 225, 74, 39, 178, 211, 66, 164, 77, 39, 18, 211, 231, 88, 88, 255, 104, 5, 205, 140, 212, 92, 53, 208, 210, 195, 30, 182, 1, 171, 118, 198, 170, 157, 39, 81, 93, 77, 148, 102, 168, 40, 44, 220, 214, 254, 91, 242, 22, - 209, 216, 75, 26, 13, 205, 142, 230, 72, 32, 216, 35, 14, 24, 81, 151, 191, 33, 122, 205, 186, 227, 66, 168, 207, 20, 138, 40, 225, 92, 22, 191, 191, 200, 163, 167, 130, 175, 176, 171, 80, 121, 14, 236, 204, 33, 153, 171, 243, 139, 11, 178, 253, 247, 201, 183, 249, 167, 3, 63, 67, 108, 68, 60, 58, 28, 136, 225, 35, 42, 126, 116, 56, 9, 143, 22, 44, 156, 197, 8, 103, 251, 240, 161, 164, 146, 176, 43, 113, 118, 40, 0, 85, 248, 248, 81, 114, 40, 208, 171, - 151, 131, 136, 210, 197, 2, 36, 226, 52, 3, 4, 255, 65, 113, 228, 1, 210, 153, 17, 32, 255, 125, 70, 15, 144, 78, 130, 53, 145, 22, 32, 157, 87, 26, 32, 131, 196, 216, 72, 78, 122, 128, 92, 160, 158, 13, 227, 111, 19, 182, 78, 224, 235, 19, 205, 59, 64, 151, 228, 236, 129, 185, 114, 134, 175, 223, 194, 108, 85, 2, 139, 186, 1, 92, 149, 68, 245, 31, 80, 156, 225, 75, 26, 108, 4, 103, 187, 215, 79, 208, 188, 93, 108, 53, 210, 131, 139, 28, 17, 98, - 93, 41, 169, 127, 53, 30, 38, 52, 68, 61, 238, 192, 199, 236, 200, 42, 122, 181, 59, 240, 35, 88, 59, 245, 255, 214, 110, 210, 91, 52, 42, 122, 15, 100, 208, 251, 243, 247, 116, 122, 15, 16, 118, 92, 185, 86, 122, 15, 92, 41, 189, 30, 83, 65, 127, 141, 51, 157, 222, 194, 92, 58, 255, 100, 146, 200, 236, 254, 176, 29, 136, 162, 39, 130, 176, 2, 179, 227, 236, 58, 181, 238, 135, 153, 25, 171, 132, 140, 35, 145, 32, 44, 35, 6, 32, 221, 22, 162, 141, 167, - 8, 190, 94, 163, 106, 19, 61, 127, 180, 153, 122, 22, 143, 138, 237, 112, 6, 219, 197, 239, 234, 108, 135, 105, 197, 79, 99, 59, 124, 165, 108, 87, 16, 244, 23, 237, 233, 108, 87, 229, 102, 203, 118, 44, 195, 17, 182, 245, 4, 103, 178, 93, 145, 201, 118, 53, 25, 231, 231, 36, 38, 107, 136, 1, 74, 151, 37, 197, 89, 232, 254, 157, 177, 138, 212, 23, 36, 68, 223, 79, 72, 141, 105, 30, 21, 235, 93, 25, 172, 191, 214, 167, 179, 222, 69, 139, 117, 26, 235, 93, - 87, 92, 172, 9, 250, 128, 45, 163, 88, 91, 88, 207, 33, 172, 111, 246, 135, 199, 10, 214, 115, 25, 235, 185, 195, 178, 222, 74, 198, 25, 79, 98, 115, 231, 8, 89, 111, 163, 236, 234, 229, 210, 162, 10, 112, 184, 159, 115, 124, 97, 90, 218, 73, 37, 244, 165, 54, 63, 159, 215, 151, 218, 120, 62, 31, 242, 47, 193, 18, 39, 177, 95, 12, 95, 178, 104, 129, 234, 99, 236, 151, 86, 32, 119, 156, 127, 203, 199, 194, 133, 107, 88, 141, 255, 131, 166, 89, 183, 102, 188, - 59, 92, 221, 138, 18, 126, 190, 36, 118, 134, 41, 234, 69, 58, 182, 3, 2, 155, 245, 167, 7, 6, 66, 182, 149, 135, 148, 30, 63, 28, 179, 133, 88, 202, 144, 143, 132, 148, 3, 28, 242, 88, 3, 242, 143, 9, 100, 246, 155, 20, 37, 129, 144, 241, 215, 98, 91, 223, 49, 193, 78, 204, 0, 219, 103, 130, 74, 222, 111, 172, 21, 40, 253, 7, 112, 59, 8, 170, 213, 133, 197, 46, 168, 30, 168, 22, 127, 75, 2, 52, 92, 157, 96, 154, 51, 11, 55, 17, 103, 13, - 91, 186, 112, 131, 180, 68, 236, 150, 78, 57, 204, 223, 191, 125, 237, 20, 191, 127, 73, 222, 20, 242, 63, 242, 22, 43, 166, 116, 248, 4, 4, 82, 53, 248, 222, 197, 2, 41, 129, 167, 153, 137, 159, 193, 247, 103, 79, 152, 2, 131, 217, 4, 242, 136, 64, 42, 77, 224, 66, 54, 129, 92, 34, 48, 78, 182, 10, 224, 239, 18, 135, 133, 116, 3, 19, 16, 221, 93, 102, 247, 136, 18, 231, 235, 166, 21, 95, 58, 73, 8, 110, 100, 87, 44, 4, 7, 248, 63, 0, 131, - 63, 15, 30, 18, 254, 252, 234, 144, 53, 4, 113, 237, 132, 255, 213, 19, 98, 3, 35, 249, 237, 111, 167, 199, 224, 66, 54, 67, 56, 0, 143, 9, 160, 127, 190, 44, 101, 114, 92, 152, 205, 32, 167, 48, 8, 22, 228, 19, 158, 61, 37, 250, 22, 81, 107, 98, 78, 98, 77, 218, 239, 101, 132, 77, 44, 104, 7, 249, 191, 63, 131, 89, 115, 12, 179, 26, 14, 89, 195, 20, 205, 154, 40, 81, 179, 222, 57, 13, 159, 255, 79, 219, 211, 199, 71, 85, 36, 57, 147, 15, - 153, 184, 163, 153, 243, 130, 6, 126, 40, 113, 5, 4, 21, 4, 61, 53, 46, 8, 89, 117, 52, 126, 176, 70, 37, 46, 39, 46, 70, 197, 192, 122, 234, 33, 38, 130, 10, 10, 60, 224, 50, 134, 167, 89, 131, 251, 67, 61, 61, 84, 80, 84, 8, 1, 33, 9, 95, 146, 96, 36, 168, 124, 12, 24, 20, 21, 48, 96, 22, 103, 54, 168, 131, 12, 130, 231, 7, 215, 85, 213, 253, 186, 250, 205, 36, 196, 117, 239, 159, 100, 234, 117, 85, 117, 85, 117, 189, 238, 170, 238, - 126, 221, 235, 85, 205, 125, 117, 205, 106, 219, 239, 239, 84, 217, 64, 93, 54, 109, 74, 28, 58, 40, 233, 222, 220, 14, 185, 26, 169, 109, 24, 236, 35, 42, 108, 213, 190, 28, 35, 95, 62, 0, 245, 6, 255, 166, 125, 153, 51, 200, 99, 118, 194, 130, 105, 141, 224, 190, 163, 220, 171, 233, 153, 66, 119, 219, 250, 239, 239, 211, 61, 206, 202, 86, 153, 4, 138, 67, 193, 253, 182, 53, 219, 41, 138, 103, 214, 6, 247, 67, 56, 31, 140, 137, 142, 254, 195, 251, 90, 96, - 7, 77, 191, 224, 254, 232, 86, 180, 236, 156, 15, 112, 104, 243, 177, 206, 162, 158, 104, 133, 1, 231, 74, 46, 52, 147, 166, 159, 207, 193, 95, 206, 76, 90, 248, 114, 85, 136, 51, 105, 67, 183, 203, 153, 180, 176, 98, 159, 175, 217, 103, 214, 14, 223, 47, 2, 201, 15, 91, 50, 64, 232, 249, 178, 2, 154, 72, 155, 239, 8, 221, 172, 40, 11, 152, 103, 249, 225, 179, 12, 80, 166, 222, 71, 74, 18, 202, 72, 141, 82, 108, 77, 217, 159, 153, 57, 171, 15, 236, 27, - 170, 21, 254, 16, 140, 53, 220, 215, 18, 64, 154, 72, 0, 104, 12, 165, 167, 254, 42, 165, 119, 154, 74, 95, 179, 77, 42, 189, 83, 177, 31, 231, 86, 122, 103, 103, 149, 30, 207, 148, 62, 45, 37, 169, 210, 147, 146, 42, 45, 92, 238, 72, 184, 55, 12, 131, 34, 104, 135, 15, 0, 154, 105, 36, 37, 154, 50, 198, 22, 190, 212, 113, 219, 102, 148, 87, 219, 102, 225, 175, 178, 205, 46, 211, 54, 253, 195, 122, 111, 1, 177, 175, 112, 219, 102, 87, 103, 109, 51, 151, - 41, 241, 131, 39, 169, 109, 230, 153, 182, 233, 34, 109, 51, 60, 158, 89, 83, 40, 170, 152, 129, 76, 113, 94, 48, 14, 157, 105, 92, 205, 3, 18, 117, 53, 215, 92, 190, 70, 133, 241, 80, 32, 114, 238, 54, 152, 7, 140, 123, 152, 7, 213, 105, 92, 97, 76, 31, 25, 211, 144, 165, 158, 113, 131, 253, 12, 34, 24, 58, 150, 57, 243, 110, 220, 233, 205, 152, 59, 239, 50, 204, 4, 102, 214, 22, 238, 87, 239, 51, 204, 11, 54, 243, 42, 55, 242, 158, 180, 153, 239, - 32, 25, 33, 251, 134, 67, 71, 160, 111, 152, 212, 132, 67, 43, 239, 75, 35, 148, 179, 30, 128, 127, 145, 129, 13, 32, 2, 97, 237, 212, 88, 145, 80, 3, 244, 76, 184, 117, 23, 58, 184, 86, 140, 25, 8, 45, 194, 76, 127, 51, 70, 98, 244, 188, 133, 85, 226, 58, 242, 225, 34, 134, 22, 99, 181, 180, 124, 198, 163, 4, 97, 129, 66, 167, 150, 163, 172, 150, 175, 112, 44, 137, 97, 146, 189, 209, 163, 89, 101, 103, 48, 35, 196, 48, 228, 154, 127, 88, 249, 226, - 228, 195, 142, 143, 246, 225, 207, 39, 29, 86, 62, 74, 95, 220, 80, 9, 126, 113, 51, 123, 243, 177, 99, 248, 197, 13, 177, 247, 104, 246, 240, 197, 141, 200, 129, 203, 70, 164, 11, 15, 44, 59, 204, 157, 83, 65, 204, 66, 62, 77, 24, 29, 68, 219, 64, 142, 57, 66, 7, 116, 161, 240, 130, 46, 153, 79, 14, 56, 166, 155, 32, 135, 87, 41, 2, 208, 154, 176, 248, 183, 131, 62, 66, 203, 8, 135, 26, 108, 209, 214, 245, 41, 184, 192, 18, 198, 223, 169, 180, 216, - 130, 197, 13, 45, 129, 140, 141, 56, 253, 39, 10, 210, 24, 82, 58, 67, 146, 60, 78, 96, 197, 93, 18, 121, 28, 80, 45, 104, 91, 243, 200, 62, 98, 180, 130, 19, 131, 6, 7, 35, 37, 61, 154, 130, 107, 78, 192, 14, 133, 132, 238, 171, 133, 134, 89, 249, 10, 105, 144, 193, 193, 3, 136, 218, 133, 161, 14, 100, 168, 221, 69, 153, 135, 181, 102, 46, 111, 205, 53, 86, 227, 8, 199, 165, 179, 164, 75, 231, 8, 206, 214, 20, 159, 7, 22, 249, 226, 244, 69, 203, - 130, 70, 28, 88, 152, 193, 103, 34, 75, 122, 158, 151, 193, 94, 226, 153, 43, 40, 248, 21, 238, 230, 247, 148, 220, 1, 43, 37, 132, 85, 192, 140, 94, 43, 6, 202, 117, 225, 242, 160, 143, 108, 50, 40, 12, 70, 178, 22, 172, 144, 19, 98, 241, 134, 136, 47, 180, 109, 80, 67, 104, 120, 252, 88, 80, 244, 28, 126, 120, 149, 253, 158, 210, 229, 138, 215, 200, 132, 26, 225, 189, 22, 132, 71, 194, 86, 99, 150, 91, 35, 145, 71, 172, 164, 99, 39, 154, 103, 11, 58, - 134, 160, 246, 129, 245, 143, 195, 91, 124, 202, 230, 116, 253, 254, 198, 210, 82, 83, 188, 137, 7, 154, 224, 161, 33, 53, 87, 210, 247, 37, 64, 160, 79, 70, 145, 81, 76, 105, 137, 42, 8, 232, 247, 212, 151, 231, 241, 168, 147, 77, 36, 147, 195, 151, 115, 38, 217, 154, 137, 240, 99, 97, 150, 33, 105, 165, 231, 170, 194, 28, 167, 193, 240, 60, 149, 111, 49, 29, 166, 162, 190, 78, 81, 220, 217, 163, 195, 20, 27, 113, 8, 20, 187, 116, 83, 58, 59, 196, 68, 244, - 77, 201, 117, 67, 230, 159, 94, 65, 98, 17, 77, 174, 169, 91, 230, 204, 235, 112, 216, 162, 194, 60, 213, 193, 212, 103, 115, 154, 124, 71, 36, 127, 168, 192, 31, 121, 216, 40, 44, 224, 133, 162, 197, 252, 86, 125, 22, 84, 155, 125, 171, 230, 59, 82, 227, 52, 229, 73, 203, 249, 155, 60, 131, 130, 87, 221, 21, 233, 6, 159, 142, 109, 211, 252, 138, 28, 1, 15, 132, 96, 27, 217, 1, 100, 156, 45, 178, 68, 252, 209, 67, 132, 188, 142, 49, 137, 98, 28, 147, 64, - 84, 188, 32, 69, 87, 60, 62, 161, 193, 252, 212, 96, 104, 153, 37, 185, 92, 145, 73, 188, 193, 100, 29, 131, 100, 33, 63, 161, 68, 86, 51, 84, 87, 195, 143, 3, 113, 53, 91, 137, 108, 182, 23, 14, 66, 179, 77, 127, 31, 71, 111, 15, 27, 85, 98, 52, 170, 44, 130, 6, 20, 156, 203, 11, 3, 161, 224, 252, 80, 225, 66, 57, 84, 138, 127, 217, 30, 125, 14, 15, 68, 188, 90, 126, 15, 56, 156, 136, 75, 131, 177, 193, 226, 245, 155, 57, 14, 91, 146, 234, - 96, 199, 138, 216, 193, 69, 164, 204, 77, 170, 112, 33, 47, 156, 15, 156, 94, 74, 209, 164, 213, 70, 41, 172, 13, 8, 132, 169, 12, 129, 157, 225, 1, 114, 165, 97, 30, 50, 159, 201, 245, 199, 75, 80, 46, 92, 98, 153, 249, 140, 71, 83, 214, 39, 165, 132, 42, 52, 113, 119, 77, 12, 253, 85, 204, 195, 232, 217, 65, 25, 209, 21, 236, 121, 216, 99, 12, 104, 116, 160, 207, 179, 212, 67, 124, 117, 171, 198, 107, 209, 120, 109, 147, 212, 195, 141, 73, 136, 95, 149, - 196, 213, 140, 152, 157, 173, 209, 54, 88, 61, 156, 151, 132, 120, 143, 36, 126, 144, 17, 199, 12, 60, 171, 177, 36, 161, 147, 126, 244, 27, 240, 144, 162, 141, 56, 136, 115, 108, 106, 106, 108, 91, 42, 101, 231, 103, 136, 82, 217, 64, 159, 123, 52, 130, 207, 133, 128, 28, 222, 102, 8, 1, 23, 2, 58, 244, 11, 12, 33, 219, 133, 16, 0, 132, 201, 12, 33, 199, 133, 128, 175, 252, 40, 134, 208, 215, 133, 144, 13, 8, 191, 99, 8, 3, 93, 8, 61, 0, 161, 27, - 67, 96, 199, 76, 36, 25, 2, 34, 215, 125, 13, 246, 26, 136, 67, 96, 158, 193, 139, 22, 114, 69, 166, 8, 175, 134, 15, 243, 196, 24, 142, 248, 48, 158, 148, 5, 16, 74, 33, 40, 15, 193, 60, 2, 196, 83, 4, 21, 148, 90, 22, 112, 42, 254, 163, 168, 121, 160, 172, 121, 219, 87, 52, 156, 150, 116, 179, 173, 154, 13, 56, 142, 50, 81, 97, 88, 131, 113, 214, 75, 103, 68, 97, 57, 59, 130, 34, 122, 140, 122, 230, 149, 48, 14, 139, 192, 28, 207, 184, 249, - 177, 124, 74, 243, 183, 85, 161, 141, 71, 224, 139, 156, 3, 194, 233, 161, 80, 238, 125, 110, 27, 170, 184, 20, 113, 45, 91, 83, 113, 172, 29, 114, 126, 105, 55, 12, 51, 99, 10, 139, 157, 129, 1, 159, 169, 3, 170, 136, 40, 38, 175, 130, 189, 194, 143, 253, 135, 12, 99, 65, 105, 248, 198, 109, 128, 162, 26, 151, 200, 59, 128, 75, 56, 254, 178, 0, 78, 50, 112, 94, 239, 83, 201, 6, 236, 158, 232, 253, 36, 46, 252, 216, 11, 216, 151, 154, 194, 108, 48, 201, - 107, 246, 145, 3, 71, 221, 238, 88, 54, 71, 90, 118, 226, 1, 29, 168, 200, 141, 223, 183, 189, 139, 221, 47, 51, 224, 102, 195, 128, 45, 202, 128, 45, 142, 1, 97, 96, 75, 125, 220, 205, 130, 157, 105, 17, 125, 130, 186, 82, 161, 166, 21, 129, 72, 112, 200, 128, 210, 34, 133, 103, 156, 110, 65, 40, 16, 56, 14, 25, 91, 122, 153, 66, 153, 235, 70, 201, 7, 132, 71, 74, 69, 212, 214, 234, 101, 85, 206, 51, 205, 97, 136, 179, 208, 48, 184, 213, 152, 51, 234, - 246, 132, 32, 231, 15, 75, 169, 35, 249, 198, 50, 131, 28, 53, 141, 145, 223, 6, 175, 192, 87, 239, 178, 32, 39, 238, 97, 163, 133, 109, 117, 157, 227, 145, 95, 253, 254, 20, 81, 225, 104, 198, 80, 253, 9, 192, 101, 68, 174, 67, 30, 57, 192, 216, 86, 191, 57, 84, 119, 85, 161, 62, 215, 139, 80, 85, 16, 212, 118, 170, 249, 60, 155, 171, 147, 184, 51, 255, 121, 216, 193, 111, 229, 189, 203, 195, 31, 167, 123, 47, 136, 200, 100, 64, 212, 120, 232, 12, 26, 149, - 9, 85, 133, 67, 106, 70, 105, 180, 42, 24, 232, 56, 57, 126, 216, 240, 250, 141, 30, 135, 189, 138, 113, 48, 102, 240, 233, 41, 36, 169, 218, 162, 74, 82, 237, 195, 17, 154, 36, 207, 233, 105, 18, 67, 174, 189, 176, 125, 218, 154, 213, 200, 67, 33, 71, 242, 191, 126, 169, 37, 127, 254, 116, 146, 156, 80, 11, 18, 37, 167, 130, 145, 166, 228, 223, 20, 120, 28, 246, 69, 29, 75, 62, 64, 74, 222, 109, 132, 38, 25, 151, 68, 114, 199, 131, 102, 47, 33, 130, 197, - 211, 76, 15, 82, 97, 201, 9, 168, 218, 117, 141, 218, 131, 132, 235, 20, 232, 200, 214, 182, 206, 255, 82, 249, 205, 134, 136, 194, 229, 103, 7, 202, 114, 65, 102, 91, 95, 60, 45, 189, 45, 248, 34, 16, 76, 99, 4, 1, 135, 224, 107, 19, 169, 85, 208, 131, 205, 8, 45, 219, 65, 123, 148, 248, 6, 34, 167, 162, 153, 169, 56, 199, 209, 53, 113, 252, 28, 28, 73, 87, 254, 15, 31, 178, 78, 125, 199, 21, 76, 219, 229, 7, 246, 11, 150, 25, 118, 214, 76, 108, - 185, 180, 29, 240, 175, 95, 216, 187, 81, 12, 111, 27, 242, 124, 94, 156, 207, 16, 45, 53, 236, 177, 6, 69, 238, 248, 152, 21, 223, 207, 231, 131, 35, 6, 52, 215, 128, 114, 13, 40, 203, 128, 254, 205, 128, 242, 13, 104, 151, 1, 5, 12, 200, 103, 64, 243, 59, 168, 239, 54, 3, 218, 105, 64, 105, 6, 148, 99, 64, 35, 12, 104, 182, 1, 173, 49, 160, 69, 6, 116, 175, 1, 121, 190, 228, 80, 216, 40, 155, 97, 64, 63, 26, 80, 137, 1, 249, 13, 40, 219, - 128, 174, 55, 185, 252, 141, 67, 61, 140, 178, 241, 6, 116, 158, 41, 167, 1, 45, 52, 160, 57, 166, 205, 12, 141, 234, 140, 178, 229, 6, 52, 213, 128, 38, 27, 208, 70, 3, 234, 107, 64, 189, 12, 168, 213, 128, 90, 12, 168, 222, 128, 202, 12, 104, 28, 131, 34, 17, 60, 84, 141, 92, 56, 215, 121, 101, 18, 147, 100, 31, 152, 47, 232, 43, 11, 198, 167, 66, 7, 117, 189, 109, 13, 175, 231, 157, 161, 109, 77, 249, 130, 166, 127, 202, 131, 1, 232, 140, 40, 125, - 18, 111, 250, 183, 79, 210, 75, 12, 75, 86, 103, 183, 194, 107, 78, 148, 170, 207, 107, 251, 147, 122, 146, 127, 92, 94, 105, 79, 105, 94, 159, 125, 1, 188, 250, 215, 227, 210, 4, 124, 250, 2, 63, 97, 126, 143, 152, 141, 76, 210, 215, 141, 81, 239, 63, 138, 81, 180, 46, 29, 103, 152, 74, 175, 16, 6, 88, 199, 187, 84, 219, 26, 179, 79, 119, 85, 215, 60, 169, 122, 161, 133, 120, 18, 6, 214, 75, 4, 42, 103, 108, 27, 174, 158, 232, 243, 48, 137, 61, 136, - 111, 178, 187, 195, 100, 247, 95, 140, 221, 36, 167, 183, 199, 162, 107, 116, 145, 121, 236, 101, 245, 62, 57, 211, 38, 240, 164, 53, 54, 239, 211, 184, 101, 28, 119, 211, 62, 61, 232, 60, 203, 144, 42, 146, 48, 68, 164, 18, 134, 196, 82, 67, 171, 113, 76, 130, 83, 28, 66, 212, 220, 183, 19, 178, 27, 200, 77, 139, 69, 224, 80, 28, 42, 140, 193, 124, 15, 203, 217, 126, 123, 135, 199, 161, 225, 231, 75, 214, 170, 85, 27, 196, 26, 87, 164, 177, 170, 61, 238, 12, - 231, 208, 40, 93, 90, 199, 69, 236, 149, 112, 116, 104, 1, 138, 248, 204, 90, 87, 74, 89, 94, 40, 90, 34, 253, 117, 209, 18, 1, 231, 252, 79, 70, 213, 29, 169, 110, 95, 235, 202, 249, 236, 202, 117, 11, 105, 188, 75, 73, 70, 213, 186, 23, 168, 250, 173, 117, 165, 153, 118, 229, 51, 29, 81, 85, 33, 213, 161, 53, 174, 164, 181, 188, 208, 15, 36, 5, 105, 194, 148, 248, 165, 30, 167, 85, 3, 217, 4, 164, 173, 93, 227, 74, 88, 33, 177, 41, 244, 171, 6, - 176, 43, 123, 46, 196, 217, 123, 1, 165, 216, 149, 103, 18, 16, 43, 6, 113, 178, 18, 196, 233, 137, 44, 199, 172, 113, 165, 177, 118, 229, 206, 215, 58, 80, 34, 218, 2, 84, 3, 214, 184, 242, 87, 187, 242, 213, 142, 168, 222, 66, 170, 163, 171, 93, 121, 172, 93, 89, 162, 168, 236, 202, 73, 175, 209, 84, 76, 82, 6, 19, 144, 65, 237, 106, 87, 170, 107, 87, 14, 238, 168, 218, 33, 72, 53, 109, 181, 43, 255, 181, 173, 224, 30, 90, 25, 240, 135, 42, 118, 101, - 166, 56, 15, 138, 155, 166, 238, 19, 160, 87, 240, 237, 157, 192, 23, 191, 137, 243, 75, 206, 251, 62, 7, 206, 103, 175, 118, 37, 206, 182, 117, 100, 183, 238, 115, 203, 135, 139, 30, 225, 249, 221, 84, 149, 47, 212, 20, 250, 232, 199, 67, 243, 173, 70, 191, 218, 118, 108, 112, 172, 64, 142, 59, 86, 185, 50, 109, 209, 203, 237, 113, 113, 236, 182, 167, 93, 142, 76, 247, 60, 228, 55, 115, 149, 43, 49, 183, 173, 139, 28, 129, 146, 190, 17, 62, 164, 27, 190, 202, 149, - 175, 219, 214, 159, 59, 166, 11, 239, 1, 186, 174, 171, 92, 105, 188, 109, 245, 238, 152, 110, 46, 210, 237, 94, 233, 202, 238, 237, 202, 223, 47, 232, 160, 101, 239, 68, 170, 215, 86, 186, 18, 125, 219, 234, 185, 171, 195, 218, 206, 65, 186, 255, 92, 233, 74, 208, 109, 235, 134, 228, 116, 234, 253, 251, 118, 55, 208, 93, 178, 210, 149, 184, 211, 64, 41, 122, 139, 249, 120, 6, 96, 188, 44, 37, 217, 172, 196, 10, 36, 254, 223, 58, 87, 38, 174, 136, 173, 164, 196, 74, - 226, 73, 72, 188, 182, 206, 157, 236, 67, 191, 214, 127, 23, 197, 195, 194, 145, 29, 160, 32, 45, 153, 252, 23, 236, 118, 2, 97, 21, 15, 159, 109, 91, 19, 235, 220, 105, 62, 156, 0, 157, 42, 228, 41, 110, 74, 131, 12, 68, 70, 191, 25, 15, 125, 168, 144, 199, 115, 163, 157, 38, 48, 213, 217, 202, 137, 153, 232, 219, 187, 64, 242, 212, 186, 132, 68, 31, 86, 243, 68, 134, 248, 202, 43, 176, 134, 32, 126, 127, 39, 127, 251, 154, 130, 205, 155, 55, 109, 218, 84, - 30, 108, 62, 178, 55, 20, 110, 136, 164, 138, 84, 190, 60, 216, 210, 208, 146, 146, 26, 108, 241, 214, 227, 135, 26, 133, 45, 176, 12, 13, 84, 153, 181, 195, 191, 179, 43, 159, 122, 5, 123, 185, 214, 226, 80, 218, 181, 138, 39, 70, 9, 240, 19, 26, 51, 49, 235, 236, 189, 43, 93, 73, 177, 33, 120, 200, 101, 23, 219, 186, 167, 214, 53, 187, 208, 118, 141, 122, 56, 215, 101, 170, 239, 94, 166, 45, 172, 197, 131, 131, 173, 165, 103, 8, 14, 39, 122, 224, 24, 187, - 67, 94, 69, 80, 198, 39, 94, 164, 49, 39, 230, 168, 210, 10, 110, 204, 19, 81, 244, 75, 131, 241, 9, 127, 17, 222, 112, 40, 217, 24, 119, 47, 108, 206, 177, 150, 214, 184, 230, 17, 108, 235, 198, 151, 129, 54, 179, 182, 62, 89, 219, 95, 140, 84, 143, 214, 184, 102, 24, 108, 235, 193, 79, 120, 180, 184, 213, 128, 110, 54, 160, 75, 12, 104, 48, 66, 161, 245, 117, 57, 127, 72, 60, 218, 234, 246, 79, 117, 109, 252, 88, 77, 235, 121, 69, 5, 183, 144, 184, 169, - 250, 49, 42, 118, 184, 102, 210, 101, 158, 77, 47, 203, 73, 220, 9, 166, 223, 41, 43, 93, 133, 188, 174, 171, 117, 242, 215, 58, 242, 208, 196, 222, 160, 7, 98, 158, 89, 203, 179, 215, 118, 145, 191, 249, 4, 144, 227, 53, 102, 230, 58, 127, 167, 10, 96, 225, 27, 123, 5, 22, 164, 209, 144, 206, 249, 168, 215, 226, 53, 228, 147, 191, 211, 89, 247, 28, 41, 242, 167, 26, 51, 209, 85, 165, 120, 60, 2, 1, 192, 93, 19, 149, 158, 229, 64, 121, 105, 248, 54, 17, - 11, 149, 12, 71, 45, 108, 169, 201, 146, 0, 15, 89, 44, 9, 42, 172, 190, 78, 69, 61, 36, 130, 218, 210, 211, 219, 227, 113, 206, 206, 23, 129, 215, 12, 178, 244, 196, 157, 216, 123, 192, 228, 90, 219, 105, 206, 123, 66, 188, 244, 161, 249, 113, 38, 135, 51, 219, 194, 230, 125, 112, 184, 27, 34, 173, 240, 210, 78, 176, 194, 67, 31, 41, 133, 50, 103, 60, 129, 76, 95, 93, 97, 38, 27, 10, 3, 45, 65, 0, 88, 66, 19, 150, 22, 218, 214, 244, 143, 105, 25, - 218, 51, 196, 91, 122, 150, 176, 188, 93, 41, 146, 2, 49, 88, 6, 228, 8, 169, 216, 230, 187, 217, 130, 237, 154, 85, 169, 202, 83, 162, 55, 224, 188, 250, 67, 31, 83, 21, 242, 52, 221, 146, 124, 133, 167, 79, 216, 63, 245, 99, 211, 122, 125, 12, 235, 221, 105, 145, 245, 46, 253, 24, 172, 135, 167, 6, 70, 63, 99, 74, 22, 117, 146, 207, 19, 146, 207, 193, 143, 144, 15, 25, 127, 2, 83, 249, 74, 197, 81, 231, 36, 220, 34, 247, 160, 69, 150, 38, 181, 136, - 74, 68, 96, 173, 153, 158, 140, 79, 202, 163, 15, 242, 88, 149, 140, 135, 185, 12, 214, 170, 13, 106, 174, 128, 53, 91, 141, 67, 88, 152, 162, 250, 226, 103, 63, 2, 63, 184, 127, 7, 25, 64, 157, 161, 91, 34, 94, 243, 23, 223, 74, 200, 94, 78, 222, 209, 145, 183, 190, 61, 77, 222, 58, 176, 195, 241, 86, 197, 101, 158, 230, 210, 246, 239, 234, 225, 220, 206, 179, 222, 47, 89, 223, 191, 35, 93, 143, 19, 196, 133, 175, 155, 89, 183, 52, 75, 46, 235, 177, 63, - 112, 173, 251, 169, 30, 96, 193, 14, 208, 249, 145, 102, 165, 115, 170, 163, 243, 27, 203, 92, 121, 144, 109, 117, 111, 54, 5, 235, 111, 8, 214, 93, 10, 182, 163, 217, 241, 49, 197, 133, 229, 75, 109, 55, 225, 10, 68, 134, 122, 135, 207, 105, 10, 202, 149, 67, 191, 60, 44, 80, 233, 68, 164, 245, 188, 225, 232, 181, 166, 2, 99, 89, 204, 152, 209, 85, 131, 205, 123, 205, 160, 219, 150, 165, 238, 212, 200, 186, 119, 42, 73, 122, 39, 67, 96, 89, 80, 178, 184, 105, - 10, 162, 78, 95, 234, 74, 122, 68, 8, 43, 121, 157, 202, 16, 120, 10, 99, 77, 216, 46, 251, 189, 36, 19, 28, 103, 35, 209, 121, 75, 93, 25, 140, 53, 37, 224, 41, 185, 78, 21, 28, 229, 5, 89, 158, 146, 11, 84, 1, 75, 62, 212, 114, 15, 21, 248, 120, 129, 48, 246, 57, 182, 21, 123, 92, 238, 71, 240, 121, 180, 67, 18, 54, 203, 25, 218, 110, 183, 173, 50, 37, 239, 81, 111, 233, 197, 194, 179, 96, 21, 99, 61, 36, 67, 1, 13, 248, 96, 223, 146, - 108, 38, 98, 194, 210, 4, 92, 89, 225, 21, 24, 107, 113, 73, 55, 13, 244, 252, 16, 236, 16, 217, 230, 140, 67, 194, 255, 122, 85, 39, 132, 253, 10, 1, 59, 96, 2, 64, 42, 77, 7, 67, 145, 132, 228, 80, 68, 92, 6, 154, 210, 201, 126, 139, 202, 114, 189, 166, 31, 37, 134, 58, 211, 182, 131, 116, 179, 150, 184, 2, 252, 100, 241, 205, 45, 219, 211, 201, 228, 61, 28, 27, 140, 90, 226, 10, 240, 219, 114, 69, 150, 31, 70, 225, 131, 49, 136, 157, 197, 95, - 79, 40, 5, 95, 128, 94, 167, 167, 232, 23, 128, 40, 11, 92, 214, 75, 12, 50, 246, 110, 3, 249, 246, 87, 185, 98, 122, 219, 170, 194, 90, 236, 202, 191, 111, 77, 135, 179, 219, 2, 24, 168, 211, 67, 168, 209, 182, 46, 14, 235, 62, 2, 27, 120, 85, 88, 57, 107, 98, 208, 241, 8, 86, 243, 120, 149, 43, 250, 79, 134, 122, 3, 162, 142, 168, 114, 133, 244, 201, 80, 123, 33, 106, 191, 42, 87, 64, 95, 135, 187, 198, 147, 224, 199, 195, 128, 255, 253, 98, 87, - 36, 95, 55, 111, 150, 55, 105, 139, 52, 34, 126, 250, 86, 238, 90, 239, 45, 118, 69, 213, 26, 1, 93, 139, 0, 176, 135, 166, 3, 215, 146, 16, 184, 86, 92, 113, 97, 81, 53, 172, 86, 190, 68, 164, 65, 31, 54, 103, 26, 239, 207, 8, 191, 162, 221, 230, 116, 130, 202, 90, 185, 62, 63, 119, 92, 242, 189, 67, 7, 183, 130, 74, 53, 85, 78, 80, 137, 237, 90, 188, 5, 133, 131, 35, 143, 5, 116, 249, 100, 57, 105, 233, 239, 21, 233, 131, 248, 127, 223, 162, - 222, 235, 20, 56, 104, 136, 64, 117, 240, 47, 48, 211, 113, 167, 94, 53, 173, 226, 17, 38, 156, 166, 174, 185, 120, 75, 119, 106, 46, 178, 227, 38, 143, 39, 170, 236, 142, 95, 249, 243, 80, 168, 174, 91, 92, 131, 237, 245, 182, 117, 112, 49, 143, 30, 133, 73, 55, 235, 176, 22, 39, 51, 159, 123, 84, 79, 200, 94, 187, 133, 13, 176, 68, 169, 162, 192, 182, 107, 213, 147, 190, 237, 243, 90, 206, 120, 253, 188, 153, 141, 168, 68, 153, 219, 177, 18, 99, 183, 160, 159, - 111, 86, 190, 227, 85, 0, 248, 78, 193, 102, 30, 240, 222, 42, 122, 195, 197, 102, 60, 41, 233, 4, 234, 174, 77, 212, 118, 108, 77, 205, 182, 252, 143, 234, 38, 188, 107, 51, 83, 147, 248, 56, 83, 217, 163, 213, 147, 252, 206, 114, 206, 101, 156, 51, 54, 115, 21, 208, 177, 137, 219, 200, 228, 170, 59, 249, 31, 210, 13, 90, 100, 70, 143, 119, 108, 50, 82, 144, 27, 25, 8, 135, 77, 201, 98, 178, 20, 1, 161, 64, 187, 89, 14, 137, 182, 229, 77, 30, 78, 182, - 139, 12, 138, 138, 246, 125, 147, 199, 141, 38, 178, 49, 197, 181, 24, 209, 39, 188, 201, 3, 79, 154, 193, 212, 65, 165, 36, 247, 39, 9, 21, 239, 71, 242, 11, 223, 76, 136, 57, 253, 101, 65, 216, 135, 28, 167, 69, 4, 60, 127, 92, 206, 31, 111, 255, 64, 147, 176, 104, 84, 86, 146, 176, 54, 26, 249, 13, 86, 209, 250, 30, 239, 184, 194, 111, 36, 196, 161, 10, 1, 59, 46, 2, 192, 242, 154, 14, 58, 46, 9, 201, 142, 139, 184, 176, 144, 19, 71, 108, 114, - 123, 42, 155, 231, 57, 78, 39, 21, 185, 15, 181, 41, 54, 164, 187, 224, 141, 132, 32, 180, 152, 75, 87, 236, 72, 87, 108, 72, 87, 108, 72, 71, 92, 170, 147, 74, 71, 101, 117, 237, 74, 167, 154, 103, 43, 236, 105, 178, 230, 188, 238, 10, 32, 109, 56, 100, 38, 110, 238, 81, 123, 142, 161, 178, 144, 82, 31, 63, 38, 216, 230, 169, 249, 47, 196, 157, 185, 209, 81, 90, 188, 122, 151, 189, 158, 16, 94, 42, 4, 84, 154, 0, 80, 90, 211, 149, 246, 113, 32, 153, - 245, 17, 23, 190, 125, 108, 14, 156, 47, 41, 163, 58, 42, 101, 97, 167, 218, 196, 211, 252, 51, 118, 8, 84, 206, 162, 206, 232, 45, 169, 24, 81, 203, 61, 40, 97, 181, 7, 37, 44, 247, 160, 88, 71, 179, 30, 2, 242, 67, 140, 156, 197, 159, 209, 211, 82, 245, 220, 220, 205, 10, 193, 216, 214, 21, 183, 203, 251, 65, 179, 37, 95, 174, 206, 172, 201, 243, 13, 241, 150, 156, 129, 243, 76, 138, 222, 136, 99, 227, 195, 30, 122, 13, 254, 78, 28, 172, 138, 125, 191, - 152, 61, 104, 240, 45, 211, 128, 5, 178, 209, 194, 20, 103, 107, 121, 219, 88, 133, 96, 4, 162, 49, 55, 107, 187, 18, 171, 60, 197, 27, 102, 123, 102, 199, 138, 102, 18, 13, 230, 23, 85, 29, 132, 164, 249, 39, 189, 237, 155, 120, 102, 243, 88, 59, 54, 236, 177, 74, 85, 192, 34, 87, 190, 241, 21, 238, 16, 107, 74, 235, 5, 255, 34, 63, 52, 209, 222, 2, 34, 96, 65, 106, 168, 48, 2, 52, 1, 143, 222, 44, 107, 211, 87, 114, 179, 97, 63, 153, 36, 96, - 145, 235, 134, 224, 39, 34, 128, 140, 23, 247, 247, 141, 132, 143, 177, 5, 226, 104, 175, 135, 241, 102, 97, 107, 113, 168, 240, 211, 166, 224, 46, 145, 15, 120, 5, 79, 85, 13, 169, 28, 1, 202, 250, 13, 233, 176, 65, 205, 154, 114, 224, 24, 236, 58, 34, 6, 44, 126, 141, 84, 108, 224, 98, 243, 89, 228, 20, 218, 147, 81, 58, 145, 2, 152, 159, 54, 192, 168, 213, 124, 140, 181, 17, 191, 191, 104, 41, 190, 211, 244, 156, 71, 185, 133, 184, 161, 36, 5, 119, 202, - 181, 239, 7, 118, 65, 22, 8, 124, 60, 52, 218, 60, 65, 219, 238, 218, 107, 113, 59, 43, 32, 55, 222, 66, 24, 240, 48, 73, 237, 97, 210, 25, 187, 207, 154, 173, 198, 188, 132, 205, 80, 145, 219, 96, 19, 153, 117, 230, 2, 87, 28, 75, 115, 187, 240, 145, 86, 28, 238, 155, 89, 143, 43, 98, 13, 17, 95, 70, 24, 103, 72, 19, 187, 174, 44, 228, 179, 247, 29, 222, 199, 124, 50, 223, 21, 237, 106, 4, 236, 99, 8, 128, 62, 70, 211, 65, 31, 35, 33, 217, - 177, 18, 23, 190, 83, 237, 74, 60, 92, 203, 135, 47, 33, 149, 150, 25, 146, 219, 229, 239, 54, 30, 231, 37, 196, 173, 132, 49, 108, 96, 226, 192, 175, 83, 106, 69, 19, 210, 243, 138, 78, 115, 206, 162, 37, 225, 43, 26, 225, 205, 43, 209, 159, 4, 16, 31, 54, 215, 28, 157, 225, 241, 28, 87, 76, 216, 57, 3, 56, 9, 77, 143, 52, 226, 101, 223, 112, 92, 30, 89, 174, 137, 9, 18, 100, 161, 43, 144, 119, 174, 100, 208, 227, 69, 62, 108, 10, 178, 150, 174, - 231, 109, 121, 210, 43, 233, 238, 217, 104, 133, 128, 109, 73, 0, 180, 165, 166, 131, 182, 148, 144, 76, 107, 137, 11, 191, 250, 105, 117, 23, 221, 150, 84, 90, 239, 178, 248, 247, 235, 59, 209, 150, 173, 212, 150, 196, 129, 221, 232, 20, 29, 133, 252, 253, 56, 30, 81, 105, 152, 247, 124, 89, 180, 39, 242, 103, 70, 205, 174, 92, 138, 158, 142, 212, 217, 158, 204, 153, 126, 220, 168, 77, 24, 45, 157, 150, 80, 248, 4, 239, 68, 225, 182, 121, 240, 145, 11, 215, 83, 79, - 68, 236, 34, 188, 3, 141, 149, 151, 198, 172, 45, 105, 199, 231, 27, 42, 161, 233, 255, 52, 201, 243, 243, 134, 116, 71, 192, 216, 47, 16, 48, 32, 152, 100, 73, 1, 141, 19, 75, 100, 40, 200, 122, 152, 120, 3, 23, 251, 40, 23, 251, 192, 241, 235, 145, 87, 143, 56, 50, 11, 134, 231, 54, 192, 180, 131, 232, 175, 167, 40, 166, 236, 70, 168, 72, 75, 61, 175, 142, 93, 78, 85, 158, 98, 29, 61, 11, 78, 122, 165, 18, 118, 17, 84, 121, 48, 75, 173, 176, 60, - 240, 0, 217, 229, 162, 6, 156, 214, 59, 202, 90, 152, 93, 228, 20, 29, 156, 14, 154, 30, 24, 28, 12, 100, 206, 232, 138, 191, 157, 215, 166, 245, 48, 163, 97, 151, 59, 69, 187, 164, 163, 87, 28, 203, 156, 249, 179, 87, 123, 69, 223, 148, 95, 233, 21, 167, 27, 250, 230, 166, 252, 51, 188, 226, 189, 117, 218, 43, 242, 126, 129, 128, 191, 192, 43, 246, 172, 227, 98, 231, 167, 252, 106, 175, 232, 202, 100, 102, 183, 72, 161, 163, 220, 166, 10, 216, 181, 81, 145, 218, - 183, 185, 4, 69, 110, 71, 233, 203, 219, 148, 251, 1, 187, 69, 42, 122, 97, 170, 246, 131, 147, 82, 219, 247, 3, 118, 159, 86, 244, 24, 235, 19, 6, 254, 218, 214, 239, 105, 40, 49, 233, 159, 210, 250, 31, 172, 133, 85, 218, 108, 185, 43, 57, 243, 201, 77, 204, 93, 167, 254, 255, 120, 67, 120, 45, 70, 97, 100, 202, 210, 7, 85, 109, 236, 74, 44, 252, 244, 40, 11, 102, 246, 255, 1, 223, 248, 126, 13, 91, 192, 33, 214, 236, 230, 171, 232, 125, 76, 193, 185, - 46, 215, 121, 64, 21, 176, 27, 177, 34, 147, 215, 112, 171, 87, 187, 93, 231, 50, 103, 200, 210, 37, 34, 10, 134, 73, 187, 200, 191, 194, 222, 37, 97, 217, 190, 99, 156, 145, 139, 73, 82, 254, 51, 124, 247, 44, 125, 232, 31, 82, 245, 100, 82, 149, 59, 31, 187, 208, 42, 58, 157, 153, 160, 236, 151, 180, 101, 146, 170, 94, 89, 141, 85, 125, 199, 170, 98, 183, 97, 177, 169, 103, 57, 66, 186, 238, 213, 202, 211, 231, 234, 171, 175, 125, 211, 81, 248, 152, 17, 127, - 164, 172, 226, 1, 197, 251, 207, 225, 80, 202, 239, 211, 82, 8, 24, 80, 16, 0, 1, 133, 166, 131, 128, 66, 66, 50, 1, 37, 46, 236, 182, 171, 232, 59, 44, 56, 164, 210, 152, 203, 58, 53, 171, 58, 17, 80, 52, 83, 64, 65, 28, 216, 85, 93, 209, 187, 188, 30, 119, 30, 75, 72, 236, 230, 170, 232, 80, 244, 67, 122, 206, 46, 192, 74, 76, 142, 90, 240, 67, 86, 216, 241, 35, 177, 217, 181, 85, 27, 130, 123, 33, 75, 96, 201, 209, 239, 227, 116, 46, 4, - 161, 178, 203, 168, 68, 114, 180, 79, 52, 18, 36, 71, 237, 37, 109, 87, 173, 34, 79, 39, 90, 118, 235, 20, 124, 151, 7, 31, 160, 191, 241, 28, 26, 118, 56, 44, 145, 101, 97, 110, 53, 162, 151, 220, 81, 26, 80, 119, 134, 65, 130, 35, 228, 136, 173, 76, 119, 62, 144, 11, 192, 71, 181, 205, 71, 152, 33, 216, 77, 84, 176, 102, 64, 15, 249, 109, 88, 196, 164, 251, 74, 150, 175, 16, 82, 46, 71, 106, 78, 246, 201, 237, 226, 149, 56, 255, 53, 23, 199, 51, - 118, 99, 142, 245, 219, 58, 215, 12, 233, 21, 99, 245, 12, 233, 174, 58, 77, 197, 174, 168, 146, 115, 88, 137, 219, 110, 174, 198, 90, 198, 213, 114, 127, 245, 35, 117, 1, 175, 83, 33, 160, 191, 18, 0, 254, 170, 233, 192, 95, 37, 36, 3, 96, 226, 194, 110, 190, 138, 174, 66, 253, 7, 214, 153, 43, 229, 195, 20, 106, 17, 175, 112, 77, 173, 75, 201, 175, 139, 181, 146, 71, 106, 245, 14, 131, 27, 20, 249, 184, 14, 201, 51, 152, 141, 234, 160, 80, 180, 52, 164, - 92, 68, 59, 222, 108, 50, 45, 62, 191, 105, 42, 249, 18, 230, 9, 104, 240, 15, 254, 138, 3, 13, 191, 230, 203, 71, 59, 84, 244, 132, 255, 23, 119, 235, 57, 221, 139, 106, 53, 85, 89, 7, 205, 164, 114, 206, 121, 136, 31, 170, 81, 115, 241, 191, 113, 22, 129, 239, 70, 30, 21, 92, 249, 174, 53, 230, 34, 112, 47, 15, 95, 4, 126, 225, 110, 26, 49, 195, 53, 108, 194, 154, 184, 176, 123, 137, 96, 225, 155, 30, 206, 237, 60, 235, 119, 37, 235, 210, 26, 54, - 77, 79, 92, 140, 43, 139, 146, 206, 212, 175, 5, 214, 65, 159, 90, 239, 128, 77, 1, 164, 235, 9, 164, 235, 159, 108, 107, 250, 51, 56, 116, 113, 86, 62, 186, 167, 239, 130, 21, 142, 165, 245, 182, 240, 19, 153, 193, 27, 87, 48, 109, 137, 15, 187, 227, 167, 109, 148, 122, 88, 215, 89, 230, 23, 51, 230, 99, 87, 48, 125, 137, 207, 198, 118, 245, 85, 142, 179, 25, 118, 61, 88, 79, 207, 193, 33, 136, 219, 248, 242, 229, 166, 141, 79, 51, 108, 60, 126, 12, 217, - 248, 95, 24, 57, 187, 231, 7, 175, 177, 73, 230, 65, 163, 87, 164, 235, 47, 11, 169, 51, 63, 11, 137, 217, 109, 62, 209, 229, 88, 5, 61, 111, 225, 26, 248, 155, 242, 178, 104, 120, 23, 191, 114, 134, 193, 175, 225, 62, 187, 242, 134, 229, 184, 108, 185, 177, 161, 37, 213, 43, 254, 164, 192, 165, 83, 61, 212, 98, 101, 65, 118, 187, 56, 57, 14, 78, 15, 216, 68, 25, 134, 178, 176, 26, 166, 44, 164, 160, 131, 137, 157, 96, 107, 214, 114, 102, 98, 18, 48, 118, - 92, 151, 186, 103, 57, 216, 232, 230, 183, 92, 91, 39, 110, 178, 173, 243, 43, 113, 176, 227, 102, 255, 124, 153, 234, 50, 100, 11, 247, 190, 75, 119, 25, 51, 223, 98, 238, 67, 196, 236, 186, 159, 182, 2, 245, 144, 95, 47, 148, 200, 113, 40, 227, 120, 225, 91, 76, 33, 34, 14, 164, 29, 79, 161, 103, 97, 19, 137, 53, 125, 153, 82, 40, 211, 81, 104, 244, 211, 56, 78, 242, 234, 79, 94, 230, 234, 3, 103, 221, 169, 171, 95, 190, 140, 41, 68, 196, 125, 77, 133, - 232, 97, 78, 135, 28, 255, 135, 113, 188, 115, 25, 83, 136, 136, 7, 30, 87, 161, 141, 203, 112, 254, 101, 169, 82, 40, 157, 20, 18, 157, 143, 253, 23, 28, 38, 121, 245, 151, 45, 229, 246, 244, 59, 82, 68, 239, 96, 227, 223, 82, 166, 23, 241, 96, 55, 12, 193, 165, 171, 244, 48, 175, 51, 140, 207, 100, 234, 89, 75, 153, 122, 196, 163, 224, 184, 234, 69, 97, 119, 133, 181, 189, 90, 169, 151, 230, 180, 87, 85, 5, 142, 142, 92, 138, 209, 213, 46, 119, 121, 132, - 233, 149, 198, 245, 34, 226, 113, 102, 123, 209, 195, 162, 14, 57, 190, 200, 56, 46, 171, 102, 10, 17, 241, 248, 118, 21, 82, 157, 86, 54, 42, 180, 251, 41, 28, 27, 121, 85, 246, 18, 151, 107, 28, 44, 210, 85, 93, 93, 173, 169, 216, 29, 63, 230, 104, 135, 139, 127, 61, 100, 61, 213, 72, 49, 124, 9, 15, 75, 74, 145, 190, 140, 215, 170, 16, 48, 44, 33, 0, 63, 245, 113, 232, 32, 44, 145, 144, 12, 75, 136, 75, 5, 187, 55, 229, 32, 90, 224, 225, 170, - 196, 186, 140, 235, 142, 20, 2, 214, 69, 0, 212, 165, 233, 160, 46, 9, 25, 117, 177, 171, 130, 228, 17, 41, 207, 46, 81, 14, 225, 39, 135, 232, 33, 194, 145, 124, 70, 194, 46, 8, 106, 43, 20, 227, 170, 172, 3, 6, 163, 63, 227, 111, 47, 244, 158, 124, 115, 157, 66, 73, 21, 113, 205, 122, 5, 134, 240, 75, 41, 205, 182, 218, 117, 249, 85, 15, 182, 110, 234, 236, 255, 133, 45, 45, 214, 145, 69, 124, 217, 240, 7, 27, 135, 70, 110, 13, 133, 128, 214, 32, - 0, 172, 161, 233, 96, 217, 80, 66, 114, 118, 155, 184, 240, 139, 135, 174, 177, 173, 158, 85, 202, 20, 39, 73, 83, 56, 94, 78, 248, 236, 50, 162, 182, 110, 229, 184, 60, 168, 138, 194, 46, 119, 77, 140, 110, 193, 88, 182, 117, 138, 141, 226, 173, 151, 75, 222, 4, 226, 2, 55, 252, 132, 71, 55, 45, 86, 82, 116, 33, 41, 174, 182, 173, 1, 255, 199, 217, 179, 64, 71, 85, 36, 59, 33, 51, 97, 116, 163, 137, 24, 125, 89, 54, 62, 130, 70, 15, 32, 98, 130, - 168, 248, 20, 12, 46, 147, 128, 124, 132, 133, 128, 202, 162, 176, 66, 248, 179, 252, 130, 128, 36, 16, 110, 6, 114, 185, 204, 154, 4, 2, 138, 186, 130, 11, 111, 17, 226, 123, 168, 152, 160, 162, 38, 24, 51, 176, 7, 247, 69, 14, 186, 81, 145, 147, 221, 131, 190, 193, 100, 61, 113, 69, 205, 34, 194, 187, 85, 213, 125, 187, 122, 230, 14, 113, 159, 231, 72, 166, 111, 87, 85, 87, 87, 85, 119, 245, 183, 26, 203, 104, 225, 149, 70, 76, 27, 252, 84, 13, 31, 215, - 45, 124, 68, 141, 4, 166, 190, 228, 52, 211, 51, 13, 168, 107, 34, 211, 202, 201, 244, 123, 137, 11, 151, 0, 34, 110, 0, 40, 92, 74, 0, 151, 10, 15, 132, 43, 82, 194, 212, 136, 74, 7, 19, 214, 35, 14, 8, 236, 235, 235, 44, 111, 101, 44, 239, 173, 97, 253, 0, 145, 233, 212, 4, 203, 232, 243, 231, 124, 244, 225, 176, 148, 56, 168, 60, 100, 248, 247, 241, 198, 116, 200, 66, 127, 201, 223, 138, 144, 0, 88, 67, 74, 64, 13, 21, 30, 52, 38, 145, 18, - 53, 36, 42, 236, 221, 159, 51, 127, 70, 150, 91, 247, 73, 221, 249, 157, 163, 183, 4, 171, 189, 109, 52, 127, 223, 165, 70, 174, 195, 167, 210, 168, 234, 205, 125, 106, 102, 241, 144, 164, 147, 249, 211, 233, 204, 23, 116, 150, 238, 99, 66, 37, 42, 218, 195, 64, 103, 89, 149, 178, 227, 10, 85, 186, 145, 23, 224, 72, 130, 97, 237, 149, 21, 189, 204, 25, 253, 207, 218, 136, 94, 146, 51, 248, 111, 123, 117, 6, 51, 52, 6, 239, 249, 53, 49, 120, 124, 47, 243, 39, - 68, 133, 189, 250, 211, 182, 72, 126, 204, 253, 233, 164, 31, 18, 164, 31, 135, 35, 0, 198, 134, 34, 17, 243, 73, 254, 196, 6, 7, 63, 65, 209, 68, 124, 156, 47, 158, 191, 145, 53, 223, 131, 180, 42, 95, 148, 53, 191, 220, 169, 249, 2, 19, 29, 40, 103, 239, 186, 23, 117, 246, 122, 107, 236, 21, 79, 33, 246, 90, 94, 100, 53, 39, 42, 236, 33, 163, 182, 98, 249, 113, 218, 79, 39, 189, 83, 144, 46, 134, 173, 72, 129, 206, 158, 235, 17, 134, 96, 119, 63, - 115, 234, 97, 180, 141, 91, 184, 12, 116, 69, 92, 49, 200, 78, 121, 39, 66, 23, 150, 163, 3, 229, 143, 193, 216, 109, 249, 218, 61, 188, 101, 31, 122, 88, 181, 236, 230, 61, 10, 75, 123, 156, 104, 59, 161, 184, 30, 163, 189, 3, 139, 250, 97, 3, 122, 73, 142, 180, 239, 143, 186, 8, 174, 209, 68, 176, 240, 97, 170, 215, 170, 61, 10, 157, 61, 176, 227, 118, 40, 242, 24, 130, 86, 34, 232, 14, 46, 2, 62, 217, 240, 140, 157, 190, 96, 102, 83, 238, 37, 142, - 21, 5, 145, 204, 253, 72, 102, 79, 52, 153, 132, 159, 76, 102, 40, 146, 73, 68, 50, 251, 255, 255, 220, 124, 255, 71, 32, 115, 104, 61, 58, 204, 127, 157, 140, 212, 194, 126, 36, 243, 249, 110, 238, 40, 138, 144, 104, 61, 215, 137, 4, 192, 110, 148, 18, 208, 186, 20, 30, 56, 10, 145, 18, 94, 152, 168, 176, 7, 125, 216, 225, 29, 202, 107, 142, 50, 199, 88, 27, 233, 129, 220, 37, 106, 220, 253, 37, 136, 238, 146, 115, 151, 200, 185, 75, 116, 184, 75, 212, 184, - 75, 212, 184, 35, 42, 173, 174, 220, 81, 94, 164, 75, 238, 150, 253, 39, 112, 87, 176, 139, 115, 119, 23, 226, 118, 112, 238, 36, 0, 114, 71, 9, 224, 78, 225, 1, 119, 34, 37, 184, 35, 42, 157, 174, 220, 81, 158, 39, 41, 30, 119, 242, 146, 249, 71, 112, 254, 192, 120, 166, 12, 93, 34, 127, 110, 129, 162, 129, 4, 106, 140, 122, 111, 216, 51, 110, 216, 196, 17, 96, 32, 77, 129, 179, 16, 211, 203, 108, 8, 21, 212, 28, 28, 237, 161, 171, 80, 112, 100, 13, - 218, 247, 117, 140, 20, 123, 60, 71, 24, 85, 236, 189, 236, 41, 8, 63, 124, 151, 236, 76, 175, 116, 58, 211, 76, 164, 145, 206, 159, 214, 104, 254, 131, 222, 220, 175, 215, 154, 123, 205, 36, 106, 238, 214, 46, 214, 153, 18, 21, 246, 250, 14, 184, 80, 250, 152, 249, 211, 73, 55, 11, 210, 217, 187, 152, 11, 37, 42, 217, 73, 93, 117, 148, 43, 96, 227, 223, 24, 242, 2, 215, 253, 16, 3, 125, 36, 231, 64, 2, 160, 238, 41, 1, 186, 87, 120, 160, 123, 145, 18, - 186, 39, 42, 236, 113, 28, 212, 253, 12, 228, 142, 242, 70, 196, 213, 189, 228, 238, 19, 216, 83, 48, 242, 53, 238, 158, 95, 135, 158, 144, 115, 151, 207, 185, 203, 119, 184, 203, 215, 184, 203, 215, 184, 35, 42, 15, 38, 185, 89, 38, 229, 77, 235, 146, 187, 123, 144, 187, 4, 132, 158, 205, 249, 121, 121, 167, 174, 175, 171, 53, 125, 157, 152, 72, 250, 90, 251, 130, 66, 103, 47, 253, 184, 149, 116, 28, 65, 123, 237, 228, 114, 216, 86, 138, 174, 144, 151, 43, 1, 80, - 14, 148, 0, 57, 40, 60, 144, 131, 72, 9, 57, 16, 21, 246, 140, 77, 91, 223, 144, 241, 63, 59, 217, 248, 223, 17, 11, 129, 150, 119, 41, 150, 27, 145, 217, 30, 59, 56, 179, 95, 174, 69, 247, 200, 153, 149, 0, 200, 44, 37, 112, 178, 177, 131, 51, 43, 82, 130, 89, 162, 242, 148, 171, 210, 40, 111, 71, 151, 220, 109, 216, 9, 220, 45, 122, 158, 115, 55, 26, 113, 247, 112, 238, 36, 0, 114, 71, 9, 224, 78, 225, 1, 119, 34, 37, 184, 35, 42, 251, 93, - 185, 163, 188, 131, 93, 114, 119, 102, 7, 112, 87, 165, 113, 247, 95, 107, 208, 141, 113, 238, 170, 56, 119, 85, 14, 119, 85, 26, 119, 85, 26, 119, 68, 229, 136, 43, 119, 148, 215, 28, 151, 59, 233, 171, 71, 33, 119, 169, 8, 221, 18, 211, 127, 198, 56, 229, 144, 177, 118, 62, 153, 250, 206, 193, 30, 215, 17, 205, 185, 231, 129, 224, 243, 193, 174, 239, 146, 54, 35, 100, 17, 248, 12, 231, 76, 191, 3, 55, 105, 66, 105, 187, 71, 189, 48, 182, 11, 97, 71, 34, - 108, 170, 83, 35, 10, 229, 16, 204, 250, 225, 226, 197, 66, 179, 58, 19, 66, 152, 7, 210, 204, 96, 246, 15, 240, 56, 58, 252, 75, 187, 213, 169, 120, 222, 47, 56, 72, 132, 91, 159, 192, 104, 201, 227, 255, 41, 117, 72, 5, 178, 231, 28, 134, 126, 156, 178, 51, 29, 245, 124, 246, 156, 212, 67, 74, 217, 102, 148, 48, 65, 244, 137, 129, 64, 5, 82, 2, 20, 168, 16, 139, 30, 145, 72, 217, 209, 72, 48, 59, 253, 249, 239, 249, 24, 118, 247, 120, 53, 134, 77, - 254, 189, 79, 129, 218, 186, 15, 102, 252, 160, 88, 148, 103, 255, 219, 38, 165, 212, 161, 8, 82, 234, 66, 89, 152, 47, 8, 102, 139, 154, 15, 207, 74, 133, 197, 123, 115, 52, 144, 63, 42, 201, 15, 202, 138, 188, 100, 19, 14, 35, 77, 15, 171, 88, 174, 148, 50, 230, 148, 54, 122, 212, 131, 234, 81, 186, 241, 35, 123, 47, 65, 255, 207, 98, 156, 166, 90, 5, 105, 209, 186, 201, 136, 213, 77, 186, 174, 155, 186, 231, 20, 173, 113, 177, 186, 121, 191, 30, 42, 70, - 217, 15, 58, 217, 122, 181, 139, 159, 141, 95, 237, 241, 227, 84, 181, 107, 159, 85, 69, 77, 227, 182, 170, 213, 149, 13, 29, 50, 145, 183, 247, 160, 115, 231, 193, 82, 89, 60, 151, 144, 241, 245, 246, 104, 51, 33, 120, 117, 71, 84, 66, 160, 153, 80, 2, 204, 68, 33, 130, 153, 16, 210, 138, 104, 36, 48, 147, 234, 103, 184, 153, 84, 62, 160, 204, 228, 243, 103, 124, 10, 20, 186, 136, 118, 65, 136, 159, 253, 111, 203, 115, 72, 56, 190, 236, 23, 154, 47, 123, 249, - 1, 106, 224, 7, 158, 241, 201, 56, 221, 146, 142, 118, 61, 181, 157, 29, 38, 212, 236, 161, 19, 249, 120, 14, 93, 75, 5, 199, 112, 107, 174, 233, 177, 38, 145, 166, 155, 196, 46, 70, 142, 221, 6, 96, 86, 81, 247, 54, 232, 157, 32, 118, 120, 88, 159, 154, 195, 180, 241, 44, 214, 131, 128, 246, 184, 1, 161, 66, 114, 28, 133, 40, 220, 162, 25, 18, 111, 191, 11, 30, 232, 100, 193, 118, 174, 147, 127, 142, 81, 58, 25, 15, 27, 221, 18, 84, 53, 93, 34, 199, - 239, 155, 78, 139, 54, 99, 65, 83, 153, 113, 26, 110, 208, 143, 118, 54, 232, 237, 62, 98, 172, 178, 230, 200, 211, 122, 35, 166, 18, 234, 153, 248, 99, 219, 49, 115, 82, 195, 145, 207, 183, 158, 226, 78, 234, 12, 185, 23, 94, 103, 9, 128, 178, 162, 4, 200, 74, 225, 129, 147, 18, 41, 225, 164, 136, 10, 187, 121, 192, 156, 20, 229, 241, 200, 62, 113, 238, 154, 237, 43, 36, 155, 236, 63, 208, 125, 99, 47, 248, 52, 176, 223, 111, 173, 79, 177, 90, 187, 77, 233, - 190, 2, 75, 131, 108, 30, 115, 79, 66, 96, 101, 40, 1, 149, 81, 136, 69, 83, 36, 82, 106, 52, 18, 104, 253, 220, 54, 174, 245, 218, 209, 74, 235, 83, 96, 223, 92, 130, 10, 57, 16, 33, 233, 111, 218, 254, 195, 193, 87, 59, 19, 167, 70, 171, 237, 130, 244, 167, 216, 200, 159, 112, 51, 185, 144, 98, 135, 253, 165, 88, 232, 58, 135, 40, 174, 243, 54, 109, 117, 52, 90, 16, 50, 110, 90, 163, 187, 44, 153, 139, 18, 160, 132, 142, 84, 148, 233, 164, 68, 53, - 136, 132, 115, 121, 77, 197, 54, 160, 140, 193, 238, 138, 148, 122, 250, 108, 27, 171, 85, 18, 21, 168, 110, 49, 236, 220, 134, 183, 24, 122, 219, 146, 216, 170, 213, 98, 93, 9, 247, 72, 109, 107, 66, 198, 212, 81, 30, 142, 57, 139, 48, 127, 129, 123, 231, 189, 144, 58, 225, 72, 127, 212, 54, 42, 100, 44, 212, 113, 110, 227, 56, 189, 25, 206, 56, 94, 185, 110, 30, 79, 163, 204, 136, 115, 215, 76, 42, 192, 179, 13, 20, 176, 187, 216, 167, 221, 53, 235, 91, 173, - 106, 137, 87, 121, 234, 183, 42, 176, 168, 251, 98, 177, 2, 171, 65, 224, 241, 197, 186, 15, 185, 174, 90, 217, 246, 86, 228, 156, 32, 86, 196, 64, 160, 102, 41, 1, 130, 84, 136, 69, 211, 5, 146, 30, 62, 77, 0, 128, 121, 247, 174, 230, 230, 61, 242, 126, 101, 222, 171, 97, 119, 95, 130, 10, 187, 32, 90, 204, 65, 128, 163, 17, 36, 226, 68, 105, 88, 112, 63, 53, 234, 81, 213, 204, 40, 136, 78, 69, 84, 151, 16, 43, 236, 205, 200, 195, 224, 213, 81, 94, - 33, 100, 248, 183, 232, 101, 222, 160, 149, 185, 122, 36, 149, 249, 151, 45, 10, 157, 185, 140, 40, 61, 148, 182, 239, 242, 56, 110, 173, 55, 150, 216, 244, 68, 180, 3, 97, 183, 181, 252, 50, 222, 103, 112, 217, 69, 114, 77, 255, 187, 69, 33, 105, 222, 99, 235, 102, 178, 112, 1, 138, 237, 127, 192, 72, 214, 254, 25, 226, 193, 40, 6, 75, 27, 129, 173, 152, 109, 135, 181, 91, 164, 28, 109, 90, 159, 85, 241, 221, 135, 27, 159, 136, 242, 6, 10, 128, 134, 171, 85, - 206, 112, 213, 193, 131, 221, 7, 145, 18, 187, 15, 68, 133, 57, 132, 51, 149, 192, 77, 113, 42, 188, 93, 178, 60, 195, 137, 166, 64, 112, 172, 91, 111, 155, 47, 63, 50, 63, 32, 149, 2, 238, 12, 194, 254, 87, 249, 228, 244, 180, 45, 93, 130, 183, 114, 57, 159, 253, 160, 143, 45, 230, 15, 34, 55, 4, 82, 237, 90, 157, 148, 27, 8, 4, 25, 225, 22, 227, 186, 129, 48, 29, 206, 23, 24, 73, 171, 112, 17, 140, 75, 226, 163, 202, 75, 173, 232, 111, 204, 39, - 139, 217, 13, 187, 249, 70, 79, 37, 214, 41, 146, 24, 15, 207, 230, 0, 160, 88, 123, 58, 98, 85, 120, 224, 33, 123, 86, 241, 166, 67, 84, 216, 189, 53, 230, 33, 41, 79, 191, 116, 230, 22, 32, 163, 172, 138, 181, 161, 156, 74, 206, 100, 223, 149, 184, 54, 198, 175, 114, 72, 0, 26, 242, 84, 58, 67, 158, 74, 206, 164, 72, 9, 221, 19, 21, 30, 63, 193, 238, 64, 204, 74, 238, 40, 8, 68, 187, 189, 134, 29, 237, 100, 27, 138, 69, 91, 32, 48, 45, 176, - 249, 89, 86, 132, 22, 208, 220, 245, 180, 217, 83, 149, 184, 190, 181, 2, 87, 180, 120, 181, 174, 168, 136, 114, 168, 127, 13, 168, 6, 21, 174, 80, 88, 90, 120, 132, 216, 41, 236, 157, 88, 192, 201, 199, 113, 65, 139, 93, 222, 47, 239, 225, 115, 93, 168, 238, 142, 240, 53, 8, 175, 135, 58, 11, 231, 102, 36, 162, 137, 251, 141, 250, 76, 216, 147, 206, 126, 82, 122, 3, 224, 233, 53, 228, 105, 211, 227, 62, 143, 216, 26, 130, 159, 160, 9, 250, 100, 116, 36, 208, - 234, 228, 205, 20, 127, 62, 236, 121, 108, 246, 156, 249, 133, 225, 92, 239, 140, 156, 166, 220, 36, 167, 76, 118, 91, 173, 237, 62, 249, 81, 15, 155, 6, 209, 235, 99, 138, 191, 163, 66, 241, 205, 238, 142, 197, 56, 35, 39, 254, 33, 194, 55, 46, 199, 213, 45, 151, 120, 9, 120, 122, 161, 191, 0, 254, 199, 147, 236, 232, 118, 202, 239, 28, 139, 92, 26, 50, 182, 33, 5, 237, 162, 152, 4, 64, 139, 164, 4, 200, 65, 225, 21, 221, 237, 164, 196, 89, 96, 162, 194, - 131, 142, 173, 145, 31, 181, 24, 98, 20, 112, 61, 180, 121, 50, 96, 247, 176, 134, 175, 243, 222, 29, 240, 23, 157, 176, 10, 78, 219, 178, 154, 76, 36, 71, 87, 120, 237, 180, 147, 28, 94, 225, 237, 219, 128, 27, 75, 223, 211, 62, 57, 29, 195, 162, 115, 6, 206, 33, 86, 42, 75, 187, 49, 118, 194, 104, 236, 175, 197, 42, 148, 210, 56, 253, 59, 38, 141, 207, 55, 113, 105, 152, 69, 232, 195, 184, 52, 36, 0, 109, 105, 108, 146, 210, 80, 120, 32, 13, 145, 18, - 210, 32, 42, 60, 84, 122, 137, 252, 184, 199, 77, 26, 35, 67, 74, 26, 201, 82, 26, 248, 81, 73, 67, 36, 133, 52, 146, 237, 241, 58, 22, 153, 128, 189, 116, 148, 48, 168, 168, 253, 241, 132, 193, 250, 225, 143, 129, 106, 32, 13, 2, 249, 25, 67, 55, 9, 47, 40, 127, 77, 172, 240, 138, 49, 223, 80, 41, 131, 17, 9, 241, 224, 146, 19, 14, 203, 15, 230, 196, 114, 47, 195, 25, 231, 224, 112, 82, 70, 231, 213, 203, 39, 133, 140, 146, 101, 232, 84, 185, 192, - 199, 10, 250, 208, 253, 167, 97, 125, 126, 117, 159, 234, 58, 54, 109, 2, 187, 39, 52, 118, 93, 45, 236, 205, 2, 23, 17, 185, 31, 179, 99, 88, 180, 197, 54, 164, 151, 61, 67, 91, 190, 72, 226, 30, 225, 69, 186, 85, 201, 97, 4, 142, 235, 39, 99, 172, 56, 28, 124, 109, 191, 79, 13, 190, 46, 90, 138, 153, 230, 88, 102, 222, 194, 236, 37, 202, 194, 166, 72, 224, 22, 94, 250, 18, 110, 97, 75, 28, 73, 41, 60, 240, 0, 75, 148, 133, 117, 72, 42, 173, - 186, 155, 18, 225, 219, 41, 47, 194, 181, 223, 225, 54, 106, 251, 204, 242, 137, 232, 3, 182, 19, 220, 200, 121, 92, 183, 4, 253, 50, 231, 81, 2, 144, 43, 221, 232, 184, 210, 141, 156, 71, 145, 18, 60, 18, 149, 78, 87, 30, 41, 207, 211, 77, 231, 49, 182, 151, 187, 11, 37, 120, 106, 49, 58, 94, 237, 46, 65, 24, 144, 227, 175, 103, 122, 16, 113, 55, 34, 178, 75, 106, 28, 84, 182, 129, 15, 97, 235, 223, 88, 133, 160, 233, 252, 78, 196, 223, 238, 21, 65, - 245, 223, 1, 87, 73, 0, 236, 46, 154, 179, 139, 238, 54, 38, 182, 187, 230, 7, 9, 219, 119, 131, 123, 7, 254, 8, 22, 251, 216, 210, 174, 215, 102, 7, 33, 228, 93, 75, 125, 110, 107, 179, 172, 34, 201, 8, 119, 213, 82, 159, 182, 46, 139, 241, 117, 67, 70, 65, 121, 244, 20, 156, 0, 85, 212, 62, 9, 65, 251, 143, 229, 82, 197, 10, 17, 166, 224, 132, 148, 25, 141, 4, 115, 148, 210, 114, 62, 71, 9, 222, 171, 154, 73, 11, 236, 248, 75, 80, 97, 29, - 68, 72, 78, 127, 219, 126, 233, 224, 199, 25, 250, 237, 22, 202, 216, 91, 238, 220, 110, 145, 68, 178, 221, 237, 92, 138, 229, 91, 160, 27, 240, 167, 212, 65, 132, 201, 27, 61, 169, 30, 79, 67, 103, 178, 93, 155, 159, 59, 62, 224, 220, 98, 62, 93, 110, 27, 32, 159, 88, 57, 155, 82, 151, 155, 132, 72, 107, 0, 201, 143, 143, 150, 159, 150, 240, 206, 162, 172, 123, 8, 168, 18, 172, 180, 177, 216, 167, 173, 196, 10, 54, 220, 212, 55, 6, 17, 126, 181, 152, 79, - 123, 105, 73, 211, 26, 147, 38, 87, 53, 203, 199, 180, 167, 212, 65, 236, 206, 195, 235, 185, 180, 147, 134, 42, 105, 207, 221, 160, 232, 168, 117, 89, 187, 62, 5, 126, 217, 137, 6, 146, 60, 14, 200, 52, 199, 162, 98, 71, 178, 111, 108, 16, 93, 196, 105, 181, 121, 183, 200, 71, 86, 20, 164, 136, 135, 239, 44, 226, 115, 231, 144, 241, 46, 242, 69, 181, 196, 233, 87, 224, 43, 108, 67, 62, 5, 172, 230, 206, 97, 119, 224, 30, 112, 25, 20, 162, 92, 125, 5, 17, - 167, 168, 68, 116, 35, 240, 19, 108, 146, 232, 200, 25, 182, 184, 143, 69, 112, 16, 101, 232, 86, 122, 171, 230, 79, 241, 113, 163, 39, 199, 244, 81, 155, 125, 75, 114, 221, 138, 110, 114, 134, 203, 240, 77, 94, 114, 37, 148, 232, 201, 49, 15, 22, 185, 90, 238, 255, 195, 41, 6, 99, 229, 111, 99, 166, 199, 15, 149, 241, 121, 33, 1, 236, 112, 3, 192, 38, 73, 9, 168, 130, 194, 131, 121, 161, 72, 65, 187, 170, 145, 84, 216, 156, 248, 204, 235, 137, 206, 187, 105, - 15, 255, 8, 139, 154, 182, 17, 239, 47, 45, 222, 159, 228, 247, 120, 214, 204, 149, 24, 108, 66, 108, 231, 249, 236, 188, 148, 80, 86, 34, 204, 40, 247, 39, 64, 162, 108, 12, 222, 171, 34, 224, 122, 94, 107, 10, 85, 243, 51, 124, 242, 139, 68, 67, 64, 124, 110, 122, 59, 81, 130, 103, 137, 151, 221, 46, 1, 90, 180, 34, 175, 74, 135, 82, 94, 238, 166, 8, 176, 9, 103, 219, 83, 242, 99, 179, 94, 52, 188, 16, 122, 166, 76, 239, 56, 244, 24, 131, 5, 247, - 80, 199, 177, 184, 76, 105, 129, 79, 80, 139, 91, 141, 112, 127, 43, 208, 106, 183, 245, 76, 148, 205, 1, 59, 1, 239, 71, 5, 14, 194, 123, 189, 185, 125, 96, 34, 108, 255, 205, 50, 27, 156, 162, 178, 205, 213, 89, 233, 86, 224, 0, 172, 4, 91, 129, 131, 250, 190, 134, 113, 143, 90, 9, 62, 101, 168, 66, 121, 180, 148, 15, 46, 128, 57, 209, 247, 131, 81, 53, 58, 29, 91, 163, 126, 90, 141, 158, 22, 53, 122, 158, 17, 215, 158, 215, 58, 109, 215, 229, 218, - 148, 186, 102, 248, 85, 155, 123, 117, 74, 237, 17, 250, 213, 35, 165, 182, 131, 126, 93, 149, 82, 219, 73, 191, 232, 121, 214, 67, 148, 72, 193, 68, 61, 81, 72, 67, 105, 52, 82, 206, 149, 152, 35, 232, 92, 129, 137, 99, 148, 72, 150, 15, 251, 58, 76, 7, 78, 216, 194, 232, 111, 11, 163, 143, 185, 44, 43, 203, 22, 85, 166, 133, 15, 134, 103, 88, 248, 212, 185, 45, 184, 70, 18, 220, 17, 16, 156, 21, 56, 70, 103, 220, 155, 105, 158, 248, 222, 61, 114, 101, - 240, 4, 84, 242, 217, 117, 208, 223, 159, 4, 195, 106, 91, 41, 107, 203, 231, 224, 5, 39, 145, 221, 225, 205, 182, 246, 58, 69, 170, 118, 120, 243, 245, 80, 107, 76, 89, 19, 155, 51, 52, 205, 225, 194, 61, 245, 155, 175, 15, 81, 186, 26, 8, 219, 42, 129, 147, 23, 29, 153, 106, 193, 18, 79, 246, 42, 41, 149, 25, 60, 106, 76, 247, 31, 225, 178, 41, 182, 129, 243, 255, 164, 43, 130, 4, 196, 166, 231, 41, 117, 199, 29, 6, 68, 135, 237, 97, 29, 246, 235, - 165, 74, 143, 108, 198, 126, 166, 230, 60, 144, 174, 49, 26, 87, 187, 140, 220, 123, 173, 243, 9, 231, 126, 218, 205, 185, 101, 132, 3, 173, 87, 96, 23, 152, 53, 47, 106, 138, 223, 54, 76, 243, 111, 230, 225, 181, 95, 172, 133, 16, 212, 70, 235, 26, 122, 22, 244, 48, 132, 133, 49, 199, 37, 217, 36, 168, 61, 19, 9, 109, 49, 160, 213, 109, 68, 105, 97, 69, 42, 230, 70, 45, 6, 136, 49, 136, 221, 163, 139, 224, 254, 110, 59, 243, 15, 32, 238, 196, 185, 81, - 75, 2, 246, 56, 106, 205, 165, 134, 5, 157, 131, 169, 45, 108, 94, 171, 208, 249, 50, 65, 244, 244, 89, 138, 175, 21, 225, 63, 159, 19, 187, 76, 128, 241, 188, 208, 223, 150, 23, 116, 20, 154, 99, 218, 67, 198, 91, 37, 106, 236, 244, 52, 205, 26, 231, 68, 77, 235, 21, 16, 109, 199, 148, 200, 190, 90, 225, 194, 42, 47, 225, 77, 115, 193, 131, 17, 84, 193, 26, 110, 34, 47, 14, 86, 38, 178, 21, 22, 244, 37, 40, 244, 244, 17, 73, 139, 173, 21, 180, 13, - 165, 161, 129, 78, 230, 125, 70, 230, 129, 53, 206, 107, 247, 18, 95, 11, 60, 19, 113, 27, 63, 189, 134, 101, 191, 49, 59, 106, 157, 64, 61, 222, 80, 14, 155, 173, 171, 98, 100, 68, 24, 90, 200, 196, 85, 92, 70, 171, 28, 25, 173, 210, 100, 68, 120, 229, 46, 120, 32, 163, 126, 37, 188, 114, 127, 190, 83, 85, 110, 73, 137, 79, 129, 138, 45, 87, 162, 85, 17, 43, 35, 157, 204, 87, 140, 204, 205, 37, 108, 171, 149, 240, 181, 199, 209, 218, 221, 100, 84, 137, - 101, 111, 157, 21, 53, 239, 119, 194, 195, 105, 230, 116, 83, 113, 180, 168, 8, 81, 139, 110, 46, 129, 80, 84, 148, 0, 81, 41, 92, 16, 21, 225, 237, 119, 193, 3, 81, 37, 21, 243, 58, 238, 189, 67, 213, 49, 31, 22, 246, 37, 168, 48, 39, 162, 117, 48, 86, 84, 58, 153, 239, 24, 25, 79, 49, 51, 39, 194, 175, 143, 107, 78, 178, 161, 23, 98, 217, 243, 10, 99, 38, 225, 159, 62, 161, 55, 244, 127, 215, 26, 250, 15, 183, 139, 241, 255, 106, 133, 206, 195, - 201, 184, 204, 176, 206, 35, 104, 66, 97, 204, 132, 187, 183, 40, 41, 78, 196, 249, 70, 196, 27, 246, 4, 159, 18, 31, 157, 25, 53, 225, 86, 0, 168, 33, 74, 128, 134, 20, 30, 76, 137, 69, 74, 198, 255, 156, 25, 53, 53, 103, 171, 203, 148, 167, 133, 143, 113, 223, 127, 181, 70, 145, 36, 106, 210, 220, 39, 150, 62, 100, 191, 223, 172, 174, 39, 150, 32, 113, 219, 21, 205, 138, 55, 177, 148, 2, 121, 21, 225, 90, 10, 245, 137, 101, 42, 221, 134, 20, 158, 244, - 208, 32, 15, 223, 88, 123, 144, 161, 164, 95, 66, 71, 4, 87, 92, 168, 207, 42, 167, 22, 58, 195, 118, 248, 9, 98, 197, 79, 185, 94, 245, 13, 44, 28, 63, 142, 243, 90, 174, 92, 255, 184, 10, 229, 176, 210, 81, 99, 65, 200, 184, 190, 208, 167, 109, 186, 202, 92, 186, 216, 178, 82, 234, 80, 33, 193, 90, 186, 72, 9, 29, 18, 9, 151, 77, 87, 202, 136, 179, 233, 234, 104, 111, 140, 216, 104, 251, 170, 135, 187, 246, 242, 145, 235, 154, 153, 62, 143, 139, 66, - 36, 208, 245, 8, 180, 97, 102, 60, 197, 57, 231, 191, 96, 21, 223, 120, 116, 38, 87, 92, 252, 211, 100, 3, 5, 107, 19, 226, 176, 86, 131, 212, 114, 220, 89, 115, 206, 255, 33, 80, 178, 198, 90, 200, 152, 113, 27, 145, 30, 95, 1, 227, 222, 100, 141, 161, 200, 195, 40, 62, 250, 40, 109, 37, 242, 166, 95, 125, 148, 134, 17, 121, 246, 114, 245, 81, 42, 49, 114, 100, 139, 162, 153, 173, 87, 50, 182, 14, 17, 216, 115, 48, 22, 204, 224, 170, 138, 124, 235, 245, - 56, 31, 229, 172, 62, 178, 141, 125, 148, 243, 247, 200, 192, 110, 234, 163, 156, 163, 71, 6, 36, 168, 143, 114, 194, 29, 201, 245, 168, 143, 114, 138, 29, 249, 148, 209, 148, 83, 230, 200, 189, 73, 234, 227, 34, 23, 201, 202, 131, 218, 183, 32, 235, 175, 60, 198, 167, 190, 208, 79, 38, 120, 88, 84, 11, 227, 171, 34, 52, 98, 91, 214, 67, 182, 130, 92, 16, 158, 207, 108, 195, 222, 44, 24, 38, 70, 94, 169, 86, 217, 218, 89, 34, 122, 152, 209, 158, 220, 192, 237, - 9, 131, 134, 180, 4, 198, 38, 187, 198, 185, 123, 83, 182, 212, 227, 139, 232, 105, 3, 61, 226, 201, 176, 62, 3, 213, 58, 237, 204, 42, 69, 62, 206, 243, 92, 178, 98, 19, 97, 211, 195, 248, 248, 55, 81, 211, 223, 216, 186, 93, 227, 212, 109, 58, 50, 79, 40, 123, 46, 133, 82, 228, 160, 12, 96, 40, 218, 123, 208, 7, 168, 219, 194, 192, 24, 143, 137, 250, 18, 24, 155, 153, 5, 143, 203, 234, 222, 157, 35, 171, 59, 61, 71, 85, 119, 121, 165, 162, 94, 239, - 94, 93, 57, 86, 152, 9, 91, 21, 198, 151, 211, 163, 230, 200, 160, 151, 76, 91, 47, 61, 209, 156, 41, 91, 155, 236, 182, 91, 5, 248, 244, 152, 124, 62, 211, 102, 119, 94, 25, 177, 75, 208, 60, 30, 253, 185, 139, 146, 223, 96, 182, 228, 119, 103, 182, 226, 183, 169, 66, 149, 210, 170, 49, 129, 17, 75, 170, 55, 171, 236, 72, 23, 76, 124, 97, 112, 38, 58, 52, 153, 85, 19, 15, 175, 185, 242, 112, 31, 227, 161, 83, 23, 4, 240, 112, 21, 227, 129, 77, 197, - 64, 199, 221, 52, 29, 175, 95, 38, 117, 124, 63, 67, 209, 246, 105, 93, 216, 190, 85, 99, 155, 77, 233, 148, 170, 223, 119, 101, 219, 122, 82, 21, 146, 222, 69, 33, 127, 90, 199, 11, 201, 116, 43, 228, 75, 215, 66, 110, 98, 133, 244, 225, 195, 28, 53, 160, 146, 241, 126, 174, 129, 245, 126, 99, 251, 163, 81, 115, 180, 80, 224, 32, 112, 48, 183, 12, 8, 81, 174, 246, 252, 244, 196, 24, 195, 60, 6, 171, 169, 198, 248, 71, 163, 167, 96, 129, 14, 113, 168, 2, - 206, 135, 4, 129, 28, 193, 140, 112, 231, 75, 54, 235, 98, 36, 215, 237, 209, 168, 41, 86, 40, 208, 20, 246, 220, 250, 88, 225, 173, 225, 92, 239, 244, 69, 139, 150, 134, 115, 253, 243, 231, 252, 102, 73, 56, 55, 121, 250, 146, 149, 3, 10, 195, 185, 169, 179, 86, 53, 229, 246, 176, 225, 94, 193, 142, 200, 232, 61, 128, 124, 199, 200, 32, 201, 146, 40, 178, 185, 87, 233, 57, 120, 148, 89, 202, 243, 166, 1, 82, 158, 119, 12, 80, 242, 252, 40, 4, 124, 19, 42, - 159, 126, 81, 33, 210, 228, 190, 40, 227, 69, 204, 230, 69, 36, 116, 89, 196, 82, 86, 196, 162, 152, 34, 236, 106, 67, 37, 202, 180, 18, 86, 184, 25, 196, 36, 87, 234, 215, 48, 234, 107, 19, 92, 59, 24, 233, 130, 189, 176, 185, 98, 152, 83, 99, 166, 81, 145, 254, 36, 201, 135, 132, 36, 9, 132, 205, 142, 202, 148, 85, 246, 151, 76, 156, 237, 175, 152, 168, 216, 4, 76, 16, 154, 182, 73, 234, 189, 133, 40, 95, 44, 227, 148, 217, 76, 104, 237, 185, 4, 73, - 250, 103, 183, 184, 145, 190, 157, 145, 214, 38, 66, 87, 11, 210, 187, 52, 210, 251, 221, 152, 118, 167, 252, 169, 165, 40, 179, 233, 141, 212, 249, 104, 141, 110, 189, 27, 221, 158, 174, 116, 13, 70, 247, 8, 215, 72, 236, 226, 198, 18, 88, 43, 54, 190, 159, 18, 53, 105, 137, 120, 132, 34, 40, 167, 197, 205, 26, 86, 222, 44, 203, 174, 186, 89, 149, 221, 29, 203, 38, 180, 86, 189, 78, 118, 74, 88, 59, 101, 179, 217, 70, 164, 162, 140, 151, 199, 230, 26, 204, 95, - 252, 193, 181, 192, 173, 27, 21, 197, 206, 88, 33, 206, 100, 5, 122, 248, 30, 218, 27, 55, 147, 246, 222, 45, 83, 0, 108, 35, 143, 59, 108, 90, 98, 159, 183, 80, 118, 230, 197, 140, 102, 170, 27, 205, 223, 50, 154, 233, 110, 0, 254, 160, 2, 200, 188, 84, 161, 163, 156, 66, 253, 172, 208, 62, 110, 52, 15, 176, 66, 179, 187, 197, 106, 125, 242, 132, 210, 246, 84, 175, 115, 80, 109, 197, 66, 208, 252, 143, 15, 97, 247, 171, 177, 32, 156, 215, 251, 125, 137, 238, - 185, 5, 20, 35, 140, 64, 89, 188, 72, 60, 202, 254, 161, 128, 250, 120, 129, 34, 55, 66, 219, 61, 165, 190, 242, 19, 1, 87, 203, 224, 198, 233, 53, 135, 11, 191, 161, 160, 255, 60, 30, 116, 243, 90, 244, 96, 119, 5, 131, 103, 225, 29, 9, 142, 66, 130, 7, 189, 246, 79, 17, 21, 252, 45, 248, 173, 30, 167, 119, 30, 243, 254, 155, 40, 254, 78, 70, 142, 199, 132, 20, 112, 84, 186, 13, 55, 3, 165, 77, 112, 179, 185, 180, 59, 250, 146, 233, 41, 249, 180, - 223, 70, 166, 75, 192, 44, 20, 36, 51, 221, 239, 251, 74, 211, 77, 232, 199, 218, 255, 6, 85, 200, 10, 93, 102, 54, 221, 180, 249, 138, 85, 22, 151, 177, 180, 17, 148, 232, 242, 128, 253, 223, 135, 16, 63, 3, 124, 114, 130, 81, 33, 254, 163, 109, 31, 130, 43, 109, 135, 35, 238, 133, 225, 192, 233, 68, 248, 247, 11, 216, 28, 129, 193, 156, 140, 186, 22, 14, 180, 208, 31, 92, 216, 142, 124, 50, 15, 130, 186, 181, 90, 70, 165, 253, 35, 156, 139, 166, 97, 59, - 68, 250, 227, 167, 63, 169, 160, 5, 113, 103, 23, 244, 88, 155, 32, 2, 205, 117, 115, 182, 119, 106, 129, 76, 83, 78, 125, 240, 187, 148, 114, 220, 19, 43, 110, 78, 233, 53, 220, 230, 3, 255, 53, 87, 83, 228, 193, 203, 236, 28, 88, 239, 238, 59, 15, 163, 37, 95, 30, 249, 102, 174, 61, 163, 27, 236, 93, 118, 42, 100, 204, 233, 163, 214, 195, 175, 180, 243, 173, 55, 43, 17, 202, 236, 190, 236, 222, 80, 112, 17, 157, 142, 196, 220, 116, 252, 190, 98, 104, 56, - 63, 157, 143, 184, 173, 238, 192, 200, 56, 59, 19, 3, 63, 149, 54, 130, 28, 112, 249, 26, 144, 94, 176, 75, 162, 79, 57, 245, 248, 145, 192, 183, 219, 159, 115, 234, 195, 221, 129, 64, 219, 177, 148, 94, 16, 164, 217, 227, 177, 229, 105, 180, 247, 49, 167, 158, 37, 145, 154, 69, 157, 102, 241, 121, 51, 108, 189, 58, 212, 6, 183, 146, 100, 43, 134, 37, 136, 144, 247, 45, 143, 71, 88, 76, 94, 6, 144, 52, 108, 152, 17, 203, 186, 135, 243, 240, 198, 117, 66, 137, - 183, 111, 137, 223, 154, 122, 214, 42, 234, 180, 138, 207, 31, 125, 55, 165, 87, 46, 209, 79, 55, 167, 118, 74, 250, 231, 173, 87, 79, 205, 177, 73, 95, 25, 60, 186, 44, 203, 202, 243, 195, 209, 30, 43, 9, 168, 253, 211, 254, 28, 78, 66, 201, 231, 81, 240, 77, 132, 12, 231, 165, 99, 34, 47, 205, 154, 218, 105, 21, 217, 116, 11, 153, 188, 173, 73, 233, 193, 227, 43, 223, 142, 12, 130, 216, 13, 117, 133, 21, 178, 188, 152, 250, 44, 180, 73, 149, 150, 248, 47, - 218, 13, 243, 241, 158, 118, 185, 161, 180, 193, 230, 36, 127, 104, 248, 250, 12, 198, 113, 97, 197, 65, 136, 229, 20, 249, 2, 130, 91, 2, 111, 203, 62, 180, 214, 103, 216, 19, 57, 51, 47, 35, 30, 78, 74, 47, 152, 247, 121, 196, 159, 2, 212, 8, 48, 225, 143, 128, 38, 241, 181, 80, 100, 89, 200, 27, 2, 109, 82, 190, 173, 43, 171, 200, 111, 27, 140, 215, 42, 78, 142, 252, 18, 212, 158, 109, 94, 48, 23, 121, 45, 59, 195, 254, 10, 164, 57, 124, 36, 83, - 210, 131, 53, 161, 113, 34, 31, 218, 131, 209, 158, 106, 21, 37, 75, 179, 131, 24, 144, 37, 94, 144, 232, 59, 128, 128, 178, 157, 9, 191, 242, 240, 227, 195, 240, 51, 31, 127, 62, 128, 63, 253, 214, 100, 56, 181, 8, 247, 139, 35, 83, 241, 75, 170, 53, 57, 77, 126, 25, 133, 95, 210, 173, 201, 25, 166, 109, 255, 5, 201, 70, 99, 170, 109, 83, 103, 64, 222, 142, 126, 221, 236, 231, 194, 44, 91, 201, 121, 126, 107, 82, 114, 223, 195, 119, 157, 91, 58, 34, 33, - 207, 27, 60, 30, 26, 155, 81, 52, 213, 182, 170, 60, 108, 110, 230, 36, 92, 130, 132, 137, 50, 217, 87, 165, 92, 137, 4, 230, 174, 152, 237, 131, 231, 103, 18, 243, 146, 239, 10, 155, 121, 201, 143, 223, 226, 208, 12, 77, 92, 159, 17, 242, 118, 55, 243, 192, 216, 204, 102, 165, 8, 176, 7, 111, 169, 173, 171, 182, 103, 250, 134, 115, 142, 39, 148, 164, 10, 75, 106, 251, 72, 179, 247, 40, 123, 28, 75, 100, 109, 109, 251, 34, 237, 184, 29, 228, 151, 65, 38, 27, - 90, 49, 116, 62, 9, 49, 8, 112, 206, 175, 134, 206, 110, 102, 158, 87, 218, 164, 162, 223, 96, 126, 142, 54, 160, 118, 248, 75, 207, 13, 203, 206, 30, 180, 236, 215, 240, 92, 105, 122, 185, 221, 61, 219, 127, 83, 203, 3, 223, 194, 95, 127, 121, 224, 187, 16, 246, 216, 169, 33, 244, 47, 201, 229, 5, 223, 55, 5, 58, 6, 53, 5, 190, 206, 110, 10, 252, 195, 254, 255, 155, 97, 214, 48, 113, 188, 243, 189, 27, 196, 250, 159, 241, 247, 66, 233, 76, 91, 11, 161, - 93, 211, 166, 120, 97, 133, 115, 12, 207, 174, 4, 149, 110, 165, 6, 143, 23, 249, 229, 201, 180, 200, 20, 91, 113, 118, 77, 103, 67, 52, 255, 85, 201, 214, 230, 121, 5, 62, 15, 107, 79, 41, 181, 221, 223, 134, 46, 194, 108, 40, 15, 180, 52, 252, 53, 221, 60, 50, 54, 167, 57, 225, 120, 67, 103, 175, 132, 163, 55, 214, 93, 215, 224, 205, 57, 108, 92, 184, 88, 20, 201, 95, 91, 220, 226, 41, 250, 192, 178, 102, 217, 248, 38, 82, 177, 27, 244, 13, 150, 1, - 105, 48, 210, 251, 188, 230, 102, 252, 13, 167, 136, 224, 63, 201, 65, 200, 88, 147, 64, 26, 254, 114, 166, 207, 211, 246, 126, 252, 246, 179, 227, 199, 139, 23, 115, 142, 219, 204, 118, 179, 82, 143, 154, 205, 212, 159, 56, 237, 33, 157, 108, 45, 178, 202, 134, 210, 35, 177, 218, 24, 215, 90, 217, 57, 199, 97, 49, 241, 48, 58, 211, 203, 154, 204, 162, 14, 19, 94, 127, 233, 176, 10, 98, 251, 39, 214, 20, 35, 79, 192, 88, 197, 110, 62, 73, 145, 197, 208, 34, 243, - 188, 145, 57, 240, 55, 223, 27, 41, 197, 191, 126, 115, 114, 114, 100, 57, 254, 76, 53, 39, 167, 69, 230, 225, 207, 116, 115, 114, 134, 211, 108, 121, 255, 84, 144, 83, 15, 26, 121, 27, 26, 230, 4, 243, 107, 225, 224, 138, 55, 149, 182, 207, 183, 43, 122, 254, 155, 125, 161, 226, 253, 230, 215, 223, 236, 179, 140, 19, 19, 208, 7, 4, 211, 160, 101, 149, 253, 183, 93, 77, 51, 120, 236, 2, 180, 50, 46, 31, 171, 26, 190, 89, 33, 248, 215, 56, 156, 97, 86, 123, - 108, 240, 239, 134, 165, 39, 164, 148, 189, 140, 109, 255, 64, 226, 176, 12, 216, 94, 31, 150, 1, 59, 31, 207, 225, 183, 67, 86, 65, 125, 56, 216, 114, 129, 174, 74, 153, 193, 122, 251, 151, 89, 253, 127, 236, 61, 121, 124, 19, 101, 218, 147, 222, 39, 41, 199, 114, 8, 44, 163, 82, 44, 182, 64, 89, 149, 181, 45, 85, 122, 164, 165, 216, 66, 33, 45, 40, 226, 134, 73, 50, 77, 67, 147, 76, 200, 76, 122, 32, 46, 98, 200, 74, 28, 195, 226, 66, 93, 214, 85, - 4, 129, 149, 117, 21, 185, 202, 93, 168, 149, 69, 112, 61, 56, 202, 165, 28, 138, 117, 183, 93, 60, 17, 57, 68, 201, 247, 60, 239, 204, 228, 40, 41, 238, 247, 91, 190, 255, 62, 134, 166, 239, 188, 207, 241, 62, 247, 123, 100, 146, 238, 133, 215, 197, 34, 97, 32, 122, 17, 40, 230, 71, 189, 245, 105, 164, 88, 17, 23, 37, 70, 197, 69, 18, 172, 222, 4, 43, 152, 194, 83, 217, 34, 209, 224, 251, 217, 249, 81, 226, 220, 184, 168, 172, 39, 246, 139, 247, 198, 205, - 187, 109, 110, 175, 44, 231, 94, 190, 183, 28, 72, 146, 188, 30, 231, 94, 15, 128, 221, 72, 225, 35, 34, 72, 99, 229, 196, 57, 22, 160, 253, 101, 125, 166, 64, 113, 240, 144, 166, 218, 61, 0, 61, 224, 173, 198, 87, 119, 33, 14, 228, 221, 69, 100, 216, 79, 228, 109, 198, 27, 98, 206, 209, 45, 63, 162, 229, 60, 223, 138, 205, 8, 2, 27, 18, 219, 137, 141, 248, 234, 106, 25, 228, 113, 31, 68, 214, 142, 254, 151, 247, 97, 76, 169, 23, 224, 218, 64, 116, 91, - 0, 26, 153, 15, 80, 108, 136, 249, 196, 76, 207, 168, 16, 34, 16, 234, 122, 92, 1, 184, 113, 33, 32, 25, 107, 61, 81, 125, 243, 117, 169, 222, 137, 141, 132, 169, 55, 197, 119, 131, 189, 214, 19, 123, 109, 38, 178, 6, 136, 60, 132, 161, 68, 230, 145, 134, 80, 172, 246, 36, 90, 173, 223, 220, 164, 172, 166, 185, 208, 205, 39, 35, 127, 15, 105, 123, 0, 70, 164, 247, 17, 65, 164, 225, 178, 226, 234, 230, 75, 202, 129, 78, 74, 189, 145, 58, 70, 31, 24, 13, - 209, 64, 195, 124, 64, 210, 231, 200, 39, 238, 125, 66, 130, 24, 225, 106, 133, 186, 209, 220, 86, 156, 231, 186, 26, 237, 252, 92, 66, 245, 142, 109, 198, 202, 230, 105, 254, 132, 120, 156, 60, 175, 254, 234, 37, 172, 9, 206, 18, 209, 75, 184, 43, 213, 230, 139, 219, 149, 106, 115, 202, 168, 84, 27, 135, 62, 90, 30, 83, 246, 25, 9, 87, 55, 123, 29, 63, 105, 135, 33, 45, 85, 153, 251, 126, 36, 85, 198, 154, 203, 24, 13, 38, 97, 172, 76, 145, 47, 51, 198, - 239, 126, 232, 202, 120, 0, 48, 238, 248, 224, 50, 204, 226, 43, 100, 49, 102, 247, 239, 252, 37, 252, 238, 232, 188, 70, 254, 184, 33, 113, 110, 199, 139, 63, 16, 198, 71, 59, 142, 224, 103, 40, 9, 98, 78, 94, 28, 120, 16, 159, 191, 89, 114, 194, 136, 159, 9, 252, 70, 14, 244, 119, 220, 23, 149, 86, 126, 127, 178, 176, 203, 151, 22, 125, 249, 113, 202, 250, 142, 10, 94, 85, 69, 160, 28, 43, 24, 144, 136, 176, 192, 192, 184, 22, 161, 152, 248, 82, 126, 127, - 149, 48, 94, 116, 151, 66, 123, 156, 135, 252, 26, 175, 94, 144, 140, 112, 247, 120, 148, 130, 196, 147, 122, 65, 44, 57, 188, 190, 23, 52, 148, 164, 35, 143, 93, 40, 22, 29, 7, 221, 157, 17, 168, 92, 51, 210, 184, 125, 206, 54, 177, 105, 40, 182, 46, 57, 223, 21, 53, 75, 241, 137, 175, 177, 24, 139, 222, 52, 236, 60, 160, 94, 48, 146, 68, 230, 80, 146, 111, 139, 69, 119, 26, 105, 44, 21, 221, 25, 164, 177, 76, 116, 103, 146, 198, 139, 162, 251, 94, 210, - 88, 33, 186, 239, 39, 141, 213, 162, 123, 44, 105, 172, 21, 221, 227, 72, 227, 117, 201, 132, 16, 43, 151, 196, 250, 254, 158, 86, 8, 24, 37, 90, 222, 241, 71, 75, 83, 91, 145, 28, 45, 174, 19, 80, 144, 208, 54, 56, 121, 193, 22, 20, 61, 233, 113, 227, 26, 164, 195, 116, 89, 73, 51, 49, 159, 172, 137, 99, 46, 43, 206, 16, 243, 82, 80, 137, 19, 196, 110, 152, 150, 210, 230, 117, 37, 89, 75, 76, 66, 52, 226, 20, 196, 89, 137, 150, 34, 12, 3, 167, - 67, 171, 58, 210, 9, 142, 98, 127, 252, 6, 239, 142, 109, 223, 67, 62, 95, 129, 4, 118, 225, 99, 32, 68, 9, 239, 146, 68, 152, 10, 197, 241, 73, 16, 165, 96, 83, 117, 89, 43, 62, 22, 212, 57, 17, 17, 42, 159, 133, 141, 189, 91, 77, 124, 146, 70, 162, 51, 18, 41, 42, 23, 123, 137, 29, 209, 237, 52, 21, 216, 185, 236, 215, 69, 147, 55, 137, 207, 92, 87, 116, 240, 186, 236, 73, 210, 146, 196, 239, 184, 21, 97, 34, 214, 164, 195, 55, 102, 159, 37, - 223, 250, 182, 146, 148, 135, 66, 165, 190, 120, 72, 72, 136, 238, 114, 146, 250, 21, 88, 113, 72, 234, 247, 38, 197, 192, 35, 245, 187, 73, 166, 19, 168, 88, 249, 100, 86, 227, 12, 148, 117, 209, 43, 184, 146, 118, 207, 36, 8, 40, 125, 207, 70, 163, 20, 113, 105, 82, 196, 69, 70, 42, 1, 145, 163, 217, 172, 118, 63, 71, 76, 146, 65, 198, 193, 80, 136, 212, 236, 234, 93, 9, 179, 8, 233, 209, 236, 245, 144, 78, 177, 114, 127, 86, 35, 134, 197, 188, 94, 106, - 239, 65, 50, 179, 144, 104, 33, 125, 42, 18, 39, 16, 124, 61, 27, 199, 249, 36, 207, 108, 7, 109, 58, 235, 127, 82, 28, 225, 109, 70, 39, 109, 199, 154, 11, 19, 86, 39, 46, 145, 160, 104, 185, 31, 70, 121, 93, 229, 68, 161, 135, 9, 59, 212, 160, 243, 193, 64, 20, 108, 141, 80, 146, 18, 107, 222, 132, 56, 213, 126, 15, 241, 126, 71, 223, 43, 56, 144, 103, 159, 122, 65, 46, 58, 56, 22, 110, 231, 95, 71, 247, 171, 151, 182, 170, 183, 252, 224, 186, 18, - 15, 196, 88, 66, 96, 215, 217, 74, 32, 43, 213, 141, 45, 11, 14, 66, 208, 144, 94, 41, 108, 212, 133, 100, 78, 32, 127, 4, 3, 56, 200, 35, 69, 160, 51, 127, 196, 180, 201, 239, 131, 66, 92, 130, 38, 240, 89, 208, 64, 76, 138, 116, 57, 36, 180, 213, 110, 147, 79, 9, 71, 15, 209, 179, 243, 232, 181, 160, 233, 86, 174, 175, 94, 2, 79, 26, 218, 209, 10, 81, 216, 89, 138, 139, 13, 119, 135, 191, 192, 172, 149, 91, 202, 212, 131, 247, 145, 229, 125, 130, - 190, 155, 28, 221, 233, 105, 60, 133, 90, 103, 94, 196, 8, 195, 166, 168, 34, 223, 197, 252, 29, 146, 156, 146, 102, 94, 178, 94, 255, 14, 185, 183, 249, 185, 39, 249, 148, 214, 235, 164, 111, 165, 234, 252, 96, 31, 129, 207, 151, 123, 34, 40, 87, 51, 222, 71, 171, 23, 188, 129, 82, 111, 241, 226, 29, 73, 107, 41, 65, 33, 185, 243, 251, 11, 239, 138, 110, 50, 140, 55, 137, 72, 137, 180, 98, 233, 194, 56, 8, 127, 207, 126, 85, 139, 199, 251, 197, 117, 41, 9, - 59, 188, 40, 146, 251, 11, 63, 174, 187, 69, 20, 188, 109, 194, 176, 209, 138, 93, 196, 152, 98, 113, 106, 148, 107, 95, 156, 178, 63, 72, 7, 138, 172, 102, 164, 112, 126, 38, 18, 137, 61, 130, 187, 109, 92, 55, 98, 122, 8, 134, 218, 173, 245, 41, 201, 230, 35, 214, 20, 27, 113, 58, 82, 17, 251, 137, 164, 39, 39, 47, 69, 253, 212, 26, 244, 202, 230, 107, 74, 21, 161, 58, 94, 186, 0, 29, 231, 177, 244, 107, 54, 123, 72, 22, 116, 94, 135, 136, 200, 34, - 241, 172, 118, 101, 130, 123, 58, 135, 252, 20, 98, 1, 119, 139, 215, 229, 194, 114, 60, 33, 201, 187, 196, 136, 197, 162, 228, 160, 148, 198, 228, 27, 149, 160, 108, 72, 233, 188, 236, 81, 152, 128, 202, 190, 5, 6, 131, 174, 162, 27, 162, 124, 138, 107, 81, 52, 245, 155, 164, 67, 98, 233, 113, 199, 145, 9, 176, 143, 234, 160, 212, 236, 208, 64, 112, 120, 246, 117, 60, 240, 189, 28, 200, 42, 117, 99, 171, 235, 74, 4, 4, 109, 92, 171, 218, 141, 231, 252, 29, 119, - 124, 143, 42, 35, 118, 142, 74, 237, 30, 129, 93, 106, 236, 106, 36, 93, 249, 81, 176, 240, 81, 41, 129, 52, 26, 198, 111, 247, 135, 193, 106, 217, 249, 174, 150, 161, 30, 247, 138, 235, 138, 20, 210, 74, 249, 42, 241, 176, 115, 90, 241, 124, 25, 15, 108, 237, 139, 118, 158, 10, 206, 134, 175, 72, 136, 145, 108, 32, 198, 118, 75, 134, 39, 10, 121, 241, 53, 107, 124, 138, 250, 233, 222, 104, 77, 45, 88, 51, 100, 127, 237, 109, 39, 20, 68, 225, 198, 21, 74, 224, - 120, 127, 196, 86, 47, 79, 227, 21, 12, 236, 226, 139, 68, 251, 113, 240, 43, 167, 9, 165, 240, 180, 58, 39, 137, 110, 196, 81, 181, 100, 181, 58, 11, 20, 46, 132, 10, 2, 74, 62, 223, 240, 17, 114, 177, 145, 116, 19, 20, 111, 212, 49, 79, 161, 183, 45, 207, 69, 244, 76, 242, 144, 206, 78, 76, 90, 87, 179, 124, 140, 152, 142, 46, 116, 191, 12, 9, 223, 185, 212, 159, 245, 129, 73, 191, 51, 5, 58, 171, 70, 6, 237, 247, 252, 231, 69, 248, 225, 36, 11, - 230, 160, 235, 177, 241, 100, 173, 173, 105, 23, 10, 186, 230, 251, 19, 237, 163, 47, 185, 222, 25, 228, 191, 175, 108, 151, 236, 252, 173, 100, 231, 33, 69, 174, 235, 209, 206, 78, 177, 172, 93, 44, 137, 114, 31, 240, 148, 181, 59, 223, 83, 118, 54, 100, 125, 24, 43, 78, 139, 114, 189, 147, 164, 44, 42, 222, 250, 36, 18, 103, 16, 156, 104, 204, 143, 192, 118, 167, 101, 113, 232, 63, 255, 254, 93, 131, 15, 20, 246, 148, 118, 215, 111, 7, 228, 151, 183, 52, 254, 243, - 3, 124, 216, 41, 83, 172, 143, 234, 248, 14, 50, 65, 181, 15, 110, 123, 30, 247, 100, 122, 234, 163, 92, 45, 113, 62, 252, 88, 33, 190, 41, 150, 165, 73, 114, 30, 147, 89, 81, 210, 63, 157, 206, 216, 96, 49, 234, 172, 76, 13, 171, 51, 178, 22, 166, 129, 133, 27, 206, 232, 180, 176, 58, 179, 205, 44, 152, 25, 139, 121, 14, 235, 208, 25, 24, 139, 133, 15, 198, 231, 140, 58, 129, 117, 88, 117, 85, 78, 155, 1, 1, 5, 69, 26, 93, 145, 86, 87, 200, 26, - 56, 171, 221, 193, 242, 82, 159, 54, 180, 47, 155, 46, 96, 108, 54, 78, 160, 57, 59, 107, 163, 121, 206, 233, 48, 176, 116, 149, 217, 194, 102, 211, 169, 252, 207, 226, 27, 89, 94, 48, 219, 24, 193, 204, 217, 2, 68, 67, 68, 106, 200, 114, 24, 107, 84, 37, 207, 58, 248, 81, 182, 6, 198, 102, 168, 54, 215, 140, 42, 100, 249, 26, 129, 179, 143, 50, 84, 177, 35, 120, 198, 102, 212, 115, 245, 163, 244, 78, 179, 197, 56, 202, 96, 119, 142, 198, 238, 81, 78, 208, - 111, 132, 0, 76, 71, 85, 241, 216, 161, 171, 226, 193, 4, 202, 216, 35, 77, 6, 35, 163, 232, 149, 173, 101, 133, 10, 179, 149, 29, 81, 196, 192, 192, 70, 90, 224, 232, 58, 135, 89, 96, 105, 173, 83, 207, 3, 137, 205, 200, 211, 105, 90, 129, 17, 156, 124, 110, 102, 125, 106, 230, 253, 15, 15, 79, 248, 121, 218, 238, 8, 187, 165, 179, 240, 44, 91, 67, 11, 208, 9, 6, 96, 45, 225, 104, 111, 145, 29, 24, 187, 89, 50, 128, 236, 87, 109, 53, 227, 96, 141, - 101, 78, 129, 173, 167, 168, 34, 45, 45, 221, 211, 133, 140, 192, 208, 164, 151, 54, 56, 88, 217, 53, 68, 220, 219, 233, 41, 5, 146, 84, 245, 1, 252, 32, 244, 10, 8, 56, 90, 227, 112, 208, 168, 0, 34, 214, 103, 228, 217, 237, 185, 169, 198, 140, 34, 136, 40, 100, 148, 139, 33, 17, 150, 182, 216, 92, 251, 31, 209, 222, 34, 91, 216, 29, 230, 90, 57, 26, 40, 42, 149, 215, 89, 56, 211, 72, 161, 94, 160, 234, 40, 186, 60, 79, 171, 213, 20, 210, 16, 136, - 244, 8, 120, 73, 160, 232, 162, 188, 146, 210, 144, 158, 4, 104, 201, 104, 144, 67, 52, 242, 230, 71, 38, 72, 253, 50, 114, 170, 145, 116, 167, 241, 195, 17, 240, 223, 203, 237, 20, 116, 188, 0, 129, 169, 8, 77, 211, 147, 180, 186, 124, 109, 249, 52, 12, 187, 10, 174, 160, 80, 75, 99, 62, 179, 198, 108, 58, 13, 69, 168, 156, 162, 129, 200, 209, 65, 127, 62, 107, 210, 5, 240, 167, 176, 140, 177, 200, 193, 89, 187, 33, 184, 57, 158, 182, 178, 160, 64, 163, 213, - 202, 140, 53, 54, 163, 142, 50, 153, 245, 122, 214, 97, 38, 117, 68, 161, 45, 102, 5, 0, 107, 161, 200, 132, 29, 34, 128, 167, 185, 17, 47, 48, 68, 8, 191, 169, 156, 5, 34, 209, 194, 22, 154, 249, 154, 50, 214, 26, 142, 175, 132, 171, 155, 2, 6, 99, 28, 66, 1, 65, 160, 140, 78, 171, 181, 129, 174, 146, 67, 8, 120, 2, 74, 54, 198, 25, 231, 200, 160, 205, 182, 90, 40, 133, 70, 218, 206, 56, 24, 43, 11, 165, 143, 199, 132, 4, 12, 11, 199, 24, - 33, 250, 138, 96, 192, 91, 228, 59, 61, 111, 15, 231, 63, 179, 77, 203, 90, 49, 109, 210, 82, 141, 195, 179, 101, 173, 18, 36, 160, 193, 194, 241, 164, 63, 88, 201, 174, 144, 96, 115, 201, 64, 204, 89, 137, 93, 1, 9, 78, 78, 170, 180, 16, 154, 55, 248, 249, 102, 184, 65, 156, 245, 102, 155, 81, 46, 1, 52, 20, 3, 32, 156, 236, 100, 157, 108, 1, 82, 179, 35, 105, 214, 225, 176, 113, 116, 46, 132, 60, 224, 78, 203, 155, 50, 177, 100, 98, 113, 182, 31, - 11, 156, 39, 235, 69, 51, 60, 13, 220, 9, 15, 198, 70, 179, 86, 187, 208, 64, 207, 70, 28, 218, 198, 57, 172, 128, 211, 64, 215, 113, 78, 139, 145, 214, 91, 56, 67, 13, 173, 119, 10, 224, 34, 186, 178, 130, 102, 109, 181, 102, 7, 103, 179, 178, 54, 232, 225, 109, 119, 9, 52, 113, 156, 164, 132, 131, 181, 114, 181, 100, 226, 144, 205, 67, 42, 177, 164, 85, 87, 203, 5, 131, 2, 10, 6, 249, 162, 200, 226, 228, 171, 67, 157, 33, 219, 170, 130, 225, 107, 166, - 176, 38, 51, 15, 113, 162, 0, 67, 195, 250, 102, 120, 55, 250, 9, 241, 36, 11, 166, 165, 242, 25, 65, 35, 134, 201, 149, 155, 224, 118, 209, 2, 49, 193, 226, 37, 198, 46, 193, 100, 173, 169, 10, 242, 127, 144, 177, 36, 128, 194, 37, 8, 224, 176, 118, 67, 33, 1, 66, 41, 100, 57, 173, 156, 211, 230, 247, 182, 145, 173, 181, 65, 90, 33, 2, 77, 0, 118, 206, 108, 19, 178, 187, 4, 226, 255, 142, 174, 139, 182, 184, 154, 1, 97, 148, 98, 208, 37, 196, 187, - 197, 185, 161, 198, 104, 171, 89, 139, 101, 146, 83, 176, 67, 196, 65, 14, 224, 66, 68, 145, 38, 64, 23, 18, 39, 146, 55, 2, 80, 227, 13, 58, 133, 193, 147, 50, 68, 30, 19, 166, 189, 27, 249, 132, 137, 167, 240, 120, 93, 12, 65, 178, 54, 12, 147, 48, 192, 32, 229, 253, 17, 83, 136, 139, 196, 155, 212, 234, 48, 56, 97, 179, 7, 39, 241, 48, 149, 12, 42, 106, 57, 99, 51, 27, 232, 2, 127, 74, 133, 240, 101, 187, 177, 64, 183, 56, 129, 193, 101, 4, - 77, 189, 89, 8, 112, 191, 5, 245, 154, 227, 97, 181, 20, 92, 177, 105, 26, 87, 77, 154, 169, 16, 44, 80, 194, 52, 181, 44, 134, 100, 192, 253, 178, 78, 97, 112, 96, 5, 131, 225, 49, 194, 159, 39, 193, 56, 184, 22, 12, 143, 24, 192, 235, 90, 76, 164, 225, 186, 135, 39, 132, 147, 131, 174, 130, 185, 156, 102, 236, 118, 58, 213, 226, 236, 58, 214, 45, 176, 23, 91, 203, 119, 157, 223, 136, 12, 90, 157, 20, 185, 5, 213, 64, 142, 158, 234, 106, 180, 159, 195, - 147, 101, 116, 218, 28, 178, 154, 56, 143, 216, 237, 148, 25, 128, 38, 198, 66, 195, 44, 16, 224, 161, 152, 2, 230, 238, 110, 199, 9, 139, 35, 7, 84, 66, 24, 188, 27, 36, 74, 8, 224, 200, 139, 47, 109, 3, 95, 202, 153, 148, 26, 33, 195, 202, 57, 206, 34, 233, 20, 60, 149, 4, 193, 89, 71, 21, 80, 229, 25, 141, 114, 224, 102, 208, 26, 155, 224, 104, 32, 161, 156, 139, 110, 10, 197, 247, 203, 3, 11, 175, 122, 63, 201, 68, 167, 21, 150, 95, 52, 87, - 69, 67, 63, 79, 179, 245, 6, 150, 133, 45, 4, 204, 153, 86, 166, 222, 108, 117, 90, 17, 148, 26, 44, 115, 120, 62, 100, 17, 166, 112, 73, 75, 181, 192, 218, 162, 123, 94, 21, 218, 10, 93, 105, 73, 62, 93, 162, 108, 38, 205, 54, 211, 45, 90, 39, 177, 93, 194, 72, 150, 91, 155, 47, 199, 71, 185, 217, 238, 183, 103, 144, 94, 97, 225, 9, 33, 244, 40, 108, 25, 15, 94, 10, 108, 129, 141, 180, 149, 55, 133, 196, 7, 224, 97, 202, 16, 60, 161, 193, 206, - 250, 19, 73, 51, 85, 51, 177, 66, 87, 166, 45, 214, 149, 149, 20, 226, 168, 64, 54, 10, 255, 243, 208, 200, 150, 82, 251, 231, 120, 140, 127, 72, 87, 81, 90, 38, 49, 64, 14, 5, 156, 213, 10, 86, 41, 192, 57, 14, 124, 72, 22, 80, 129, 110, 88, 163, 118, 133, 148, 193, 22, 150, 49, 177, 69, 184, 88, 18, 202, 56, 35, 219, 21, 130, 227, 118, 67, 84, 225, 128, 53, 112, 87, 88, 101, 80, 86, 65, 62, 116, 5, 75, 51, 98, 57, 231, 16, 252, 93, 16, - 177, 69, 78, 139, 165, 200, 194, 152, 130, 251, 66, 132, 129, 251, 73, 181, 16, 221, 22, 174, 46, 132, 35, 234, 12, 163, 148, 20, 250, 49, 241, 86, 99, 99, 244, 22, 86, 218, 242, 134, 0, 2, 58, 9, 161, 108, 74, 108, 184, 159, 39, 51, 66, 69, 73, 153, 134, 54, 72, 6, 203, 14, 141, 7, 216, 105, 131, 11, 176, 192, 134, 143, 7, 220, 229, 27, 28, 102, 61, 171, 169, 15, 95, 43, 186, 226, 240, 202, 13, 217, 182, 43, 145, 115, 35, 110, 184, 58, 29, 10, - 15, 207, 41, 220, 184, 165, 28, 240, 234, 150, 192, 143, 143, 90, 130, 5, 173, 118, 18, 116, 134, 91, 56, 15, 242, 250, 46, 249, 136, 35, 162, 213, 117, 229, 14, 88, 149, 225, 121, 7, 159, 141, 197, 42, 3, 143, 77, 252, 119, 52, 126, 98, 252, 86, 140, 143, 231, 34, 33, 18, 220, 10, 158, 122, 75, 168, 82, 208, 39, 29, 11, 80, 90, 168, 100, 176, 246, 179, 51, 66, 53, 45, 84, 59, 56, 167, 169, 90, 57, 45, 193, 13, 241, 120, 248, 97, 29, 74, 15, 169, - 254, 114, 215, 77, 206, 115, 252, 199, 45, 210, 209, 15, 143, 126, 162, 186, 158, 27, 201, 7, 78, 55, 246, 251, 207, 162, 64, 78, 173, 211, 128, 37, 25, 103, 64, 129, 192, 65, 90, 50, 146, 196, 19, 87, 205, 212, 68, 200, 78, 154, 113, 152, 156, 184, 89, 194, 152, 146, 71, 215, 212, 11, 14, 198, 32, 224, 150, 22, 241, 112, 107, 95, 14, 90, 74, 60, 121, 190, 202, 105, 161, 24, 170, 130, 227, 104, 109, 53, 228, 187, 34, 115, 9, 95, 60, 7, 73, 40, 216, 82, - 143, 52, 205, 81, 176, 169, 137, 100, 191, 38, 13, 134, 127, 233, 66, 193, 215, 48, 14, 75, 3, 86, 90, 74, 58, 213, 41, 8, 62, 64, 114, 58, 88, 74, 57, 204, 33, 68, 232, 19, 228, 138, 11, 84, 170, 74, 78, 24, 152, 209, 242, 27, 0, 34, 221, 73, 37, 136, 2, 54, 70, 26, 109, 19, 246, 76, 242, 191, 141, 137, 42, 94, 87, 89, 33, 7, 131, 35, 93, 79, 217, 29, 28, 108, 1, 192, 184, 80, 216, 179, 167, 2, 107, 212, 192, 106, 230, 161, 234, 26, - 170, 97, 65, 194, 214, 219, 89, 131, 128, 19, 208, 200, 123, 121, 218, 196, 9, 164, 145, 16, 74, 23, 116, 202, 137, 185, 29, 2, 155, 8, 0, 134, 54, 25, 184, 90, 218, 136, 71, 96, 85, 228, 160, 193, 127, 74, 193, 59, 161, 160, 57, 204, 44, 223, 149, 174, 140, 117, 152, 216, 128, 36, 85, 156, 131, 172, 57, 66, 112, 148, 210, 75, 91, 1, 153, 76, 204, 33, 96, 114, 244, 17, 128, 133, 2, 75, 108, 181, 80, 112, 132, 46, 234, 242, 28, 196, 178, 95, 78, 216, - 148, 193, 62, 160, 154, 169, 101, 105, 61, 11, 27, 11, 105, 251, 109, 196, 195, 185, 240, 114, 200, 129, 26, 86, 14, 63, 236, 63, 252, 167, 162, 34, 169, 88, 74, 77, 13, 161, 30, 164, 230, 81, 62, 202, 167, 242, 69, 250, 98, 125, 106, 223, 16, 223, 131, 190, 121, 210, 155, 2, 255, 151, 244, 10, 23, 21, 21, 1, 87, 36, 92, 81, 112, 69, 195, 21, 3, 87, 44, 92, 113, 112, 197, 195, 149, 0, 87, 34, 92, 73, 112, 37, 195, 37, 209, 69, 16, 138, 104, 192, - 139, 135, 190, 158, 212, 0, 234, 118, 106, 52, 149, 7, 169, 55, 159, 122, 139, 82, 169, 230, 171, 84, 17, 170, 72, 85, 148, 42, 70, 21, 167, 74, 82, 165, 168, 250, 171, 104, 85, 166, 106, 156, 106, 102, 119, 114, 40, 178, 40, 242, 40, 50, 41, 114, 225, 69, 81, 6, 184, 40, 121, 236, 24, 34, 101, 60, 145, 47, 25, 108, 209, 147, 234, 77, 245, 163, 6, 130, 77, 238, 164, 210, 169, 123, 168, 28, 170, 128, 210, 2, 62, 79, 185, 168, 85, 212, 219, 212, 103, 84, - 132, 74, 26, 15, 255, 142, 114, 79, 248, 233, 37, 143, 143, 79, 84, 224, 243, 99, 248, 102, 49, 62, 203, 137, 110, 196, 209, 18, 225, 7, 223, 16, 73, 34, 99, 82, 68, 123, 124, 135, 180, 7, 145, 153, 130, 49, 37, 252, 248, 255, 183, 111, 136, 125, 125, 190, 159, 143, 192, 231, 51, 99, 235, 50, 152, 30, 95, 237, 152, 28, 255, 167, 1, 123, 173, 177, 191, 191, 56, 203, 126, 223, 26, 67, 231, 170, 70, 227, 242, 95, 45, 252, 184, 199, 234, 109, 167, 26, 126, 217, - 121, 244, 147, 133, 39, 15, 255, 49, 189, 116, 75, 124, 243, 220, 13, 191, 141, 29, 177, 237, 95, 207, 13, 222, 179, 216, 152, 178, 117, 240, 5, 122, 253, 172, 241, 179, 183, 127, 119, 38, 111, 247, 130, 39, 218, 62, 186, 237, 124, 251, 105, 235, 228, 166, 182, 139, 239, 184, 143, 184, 166, 46, 179, 244, 110, 89, 91, 99, 156, 115, 85, 255, 211, 23, 7, 216, 103, 38, 205, 80, 245, 57, 105, 137, 49, 24, 114, 213, 63, 124, 159, 28, 231, 221, 79, 219, 114, 126, 147, 98, - 46, 109, 207, 155, 121, 212, 49, 219, 244, 202, 161, 246, 200, 177, 197, 109, 81, 15, 253, 228, 78, 62, 92, 211, 148, 176, 230, 135, 181, 77, 247, 89, 150, 109, 204, 63, 118, 96, 231, 199, 227, 174, 238, 122, 253, 51, 203, 137, 95, 57, 103, 156, 213, 124, 152, 124, 236, 212, 35, 185, 135, 254, 246, 122, 230, 201, 97, 217, 212, 153, 201, 79, 78, 62, 190, 191, 47, 115, 112, 79, 211, 197, 205, 183, 223, 185, 119, 211, 212, 63, 53, 238, 248, 80, 189, 166, 121, 219, 242, 109, - 17, 105, 113, 11, 163, 117, 27, 79, 38, 237, 27, 218, 153, 184, 225, 233, 185, 220, 168, 158, 165, 213, 15, 255, 109, 48, 243, 86, 238, 136, 170, 45, 139, 243, 78, 213, 198, 204, 254, 88, 181, 139, 62, 188, 236, 238, 148, 163, 95, 123, 220, 27, 102, 15, 105, 218, 18, 179, 166, 125, 207, 203, 247, 180, 109, 235, 120, 229, 64, 108, 253, 189, 87, 41, 245, 162, 181, 241, 207, 247, 95, 214, 227, 211, 157, 201, 179, 230, 141, 200, 181, 198, 253, 209, 98, 124, 78, 53, 195, 240, - 207, 139, 147, 107, 106, 244, 140, 101, 208, 137, 76, 214, 61, 145, 210, 95, 248, 178, 49, 198, 242, 248, 26, 213, 192, 183, 46, 198, 61, 53, 109, 175, 250, 251, 125, 39, 215, 179, 229, 157, 91, 123, 253, 123, 219, 110, 113, 238, 194, 237, 63, 158, 29, 124, 90, 95, 50, 226, 163, 95, 124, 55, 247, 200, 179, 108, 105, 219, 181, 135, 153, 141, 101, 31, 76, 110, 202, 22, 168, 93, 171, 206, 101, 238, 108, 203, 91, 115, 118, 194, 241, 198, 19, 185, 214, 189, 135, 86, 95, 187, - 120, 236, 200, 172, 78, 115, 193, 143, 39, 109, 247, 22, 45, 52, 189, 113, 112, 219, 204, 143, 248, 17, 81, 133, 159, 15, 142, 188, 71, 87, 154, 240, 218, 129, 185, 201, 167, 199, 206, 142, 46, 127, 45, 47, 226, 174, 148, 148, 196, 221, 191, 163, 147, 14, 164, 54, 85, 79, 219, 228, 230, 232, 248, 182, 170, 237, 47, 183, 51, 31, 244, 184, 122, 230, 55, 203, 14, 156, 28, 126, 199, 178, 131, 235, 55, 175, 61, 254, 78, 191, 220, 77, 143, 204, 79, 222, 60, 50, 103, 70, - 243, 214, 55, 44, 59, 90, 104, 215, 182, 47, 183, 108, 218, 243, 66, 210, 185, 45, 145, 47, 28, 222, 32, 100, 21, 31, 253, 247, 155, 117, 135, 95, 250, 197, 176, 143, 163, 92, 125, 79, 241, 189, 18, 13, 159, 45, 200, 49, 46, 125, 96, 150, 53, 121, 237, 244, 89, 115, 18, 63, 236, 209, 254, 146, 47, 126, 201, 93, 235, 168, 132, 13, 203, 99, 159, 40, 92, 162, 254, 230, 240, 170, 184, 167, 171, 47, 168, 126, 121, 189, 53, 198, 252, 216, 52, 253, 229, 127, 152, 216, - 39, 103, 143, 177, 12, 248, 87, 76, 141, 173, 118, 96, 219, 245, 79, 210, 143, 120, 166, 207, 249, 40, 229, 189, 9, 167, 77, 220, 217, 237, 87, 175, 126, 189, 123, 81, 193, 238, 173, 253, 142, 46, 90, 63, 179, 99, 213, 177, 99, 191, 93, 114, 104, 229, 222, 214, 19, 247, 79, 185, 112, 118, 210, 183, 166, 157, 135, 76, 211, 118, 253, 229, 116, 76, 211, 131, 15, 141, 217, 56, 254, 163, 244, 228, 19, 165, 3, 19, 222, 188, 52, 33, 114, 204, 204, 57, 81, 121, 111, 127, - 61, 243, 108, 229, 89, 211, 218, 175, 23, 217, 70, 55, 236, 54, 23, 61, 187, 137, 249, 199, 109, 174, 170, 93, 43, 14, 115, 169, 99, 206, 85, 79, 105, 172, 75, 122, 47, 178, 56, 113, 231, 246, 190, 17, 119, 140, 26, 22, 93, 185, 59, 103, 199, 223, 211, 18, 155, 55, 254, 97, 250, 230, 244, 168, 89, 155, 102, 188, 234, 59, 222, 58, 250, 195, 131, 77, 226, 242, 147, 25, 131, 215, 157, 121, 116, 125, 171, 241, 207, 195, 46, 24, 190, 120, 113, 213, 44, 103, 194, 18, - 107, 196, 95, 99, 226, 95, 124, 112, 76, 143, 243, 110, 83, 172, 163, 247, 52, 42, 250, 169, 9, 123, 26, 251, 204, 217, 118, 110, 93, 250, 134, 199, 239, 31, 184, 37, 233, 207, 139, 14, 255, 33, 121, 247, 209, 207, 183, 126, 125, 106, 238, 237, 103, 63, 78, 108, 59, 124, 228, 119, 249, 231, 218, 190, 189, 178, 233, 116, 181, 205, 245, 209, 144, 247, 251, 238, 158, 255, 232, 176, 237, 151, 62, 173, 91, 207, 213, 21, 111, 237, 255, 207, 233, 113, 11, 237, 179, 212, 190, 119, - 115, 98, 170, 102, 36, 170, 122, 250, 150, 179, 191, 55, 175, 211, 95, 57, 226, 171, 97, 52, 31, 90, 250, 214, 159, 75, 88, 241, 213, 225, 228, 227, 21, 174, 168, 137, 173, 155, 34, 179, 152, 97, 166, 87, 47, 247, 157, 121, 176, 172, 216, 92, 242, 113, 157, 237, 129, 9, 179, 14, 173, 59, 53, 253, 216, 201, 170, 196, 179, 227, 190, 201, 57, 241, 107, 237, 186, 93, 127, 253, 251, 242, 157, 103, 230, 125, 184, 177, 184, 211, 215, 148, 57, 232, 66, 115, 243, 51, 173, 59, - 222, 205, 92, 178, 73, 251, 151, 85, 155, 135, 70, 143, 57, 184, 99, 73, 204, 241, 247, 135, 79, 59, 83, 177, 199, 116, 242, 206, 145, 115, 170, 54, 109, 155, 192, 236, 141, 24, 88, 253, 216, 210, 116, 238, 238, 95, 239, 78, 220, 188, 114, 81, 210, 219, 3, 207, 70, 79, 247, 126, 29, 49, 2, 235, 237, 194, 142, 55, 58, 82, 228, 218, 185, 175, 238, 240, 243, 42, 185, 238, 70, 60, 113, 247, 174, 60, 185, 246, 214, 191, 162, 159, 17, 39, 215, 95, 237, 134, 101, 231, - 99, 229, 26, 220, 231, 92, 237, 166, 84, 185, 14, 15, 250, 96, 214, 251, 49, 114, 45, 190, 191, 108, 156, 74, 45, 215, 247, 11, 151, 151, 123, 51, 228, 58, 127, 109, 229, 234, 236, 49, 114, 189, 95, 113, 105, 64, 11, 242, 195, 191, 12, 68, 159, 42, 63, 135, 112, 252, 228, 196, 36, 125, 18, 141, 252, 240, 111, 197, 53, 15, 127, 188, 95, 212, 77, 106, 23, 62, 92, 134, 191, 147, 86, 23, 238, 75, 249, 65, 146, 131, 238, 167, 34, 115, 66, 6, 188, 208, 119, 196, - 80, 159, 92, 233, 158, 30, 245, 216, 48, 182, 238, 21, 148, 27, 245, 123, 234, 203, 71, 222, 78, 146, 109, 49, 167, 96, 209, 132, 100, 217, 22, 219, 95, 204, 202, 136, 151, 109, 113, 58, 157, 38, 229, 21, 241, 134, 157, 175, 213, 43, 182, 120, 172, 224, 249, 23, 98, 186, 145, 239, 53, 144, 175, 255, 53, 105, 60, 186, 191, 36, 31, 218, 225, 201, 255, 97, 239, 188, 163, 163, 170, 190, 61, 126, 38, 5, 120, 116, 144, 98, 168, 9, 132, 72, 72, 144, 68, 98, 32, 9, - 72, 208, 208, 20, 33, 20, 17, 65, 32, 52, 105, 63, 32, 82, 164, 75, 128, 80, 5, 149, 18, 127, 72, 141, 52, 193, 208, 132, 160, 84, 9, 189, 63, 186, 5, 130, 132, 242, 11, 221, 160, 191, 80, 132, 168, 111, 239, 185, 123, 51, 223, 101, 24, 38, 239, 159, 247, 214, 122, 111, 238, 90, 135, 249, 48, 249, 204, 57, 231, 238, 83, 239, 100, 238, 36, 200, 117, 253, 238, 205, 186, 124, 218, 75, 234, 23, 184, 100, 193, 37, 111, 169, 223, 196, 252, 21, 248, 143, 229, 61, - 243, 208, 242, 205, 242, 152, 253, 254, 57, 214, 218, 153, 38, 229, 115, 172, 162, 107, 62, 187, 252, 167, 29, 79, 91, 83, 108, 46, 94, 195, 231, 177, 189, 86, 207, 189, 222, 114, 30, 27, 147, 55, 244, 241, 148, 243, 104, 25, 221, 122, 45, 159, 31, 199, 57, 238, 98, 202, 102, 254, 57, 199, 217, 163, 197, 129, 116, 93, 243, 127, 157, 250, 242, 235, 92, 6, 199, 57, 172, 242, 160, 62, 90, 255, 85, 43, 183, 21, 212, 245, 191, 95, 112, 34, 127, 130, 212, 222, 231, 188, - 226, 150, 46, 100, 230, 62, 53, 240, 234, 201, 227, 204, 220, 231, 250, 47, 89, 201, 183, 223, 218, 251, 220, 151, 231, 187, 69, 48, 115, 159, 235, 56, 118, 216, 100, 102, 238, 115, 158, 93, 102, 116, 102, 46, 67, 169, 119, 173, 150, 83, 153, 249, 207, 169, 87, 77, 29, 52, 152, 153, 239, 39, 105, 29, 82, 187, 48, 179, 15, 165, 138, 41, 11, 254, 98, 46, 71, 41, 115, 195, 112, 251, 13, 47, 252, 23, 66, 122, 126, 93, 230, 30, 51, 127, 25, 210, 140, 79, 191, 229, - 143, 236, 152, 138, 28, 171, 178, 15, 249, 230, 73, 195, 223, 157, 82, 33, 242, 83, 190, 45, 209, 254, 21, 252, 105, 207, 63, 190, 192, 236, 75, 41, 114, 205, 196, 242, 204, 126, 148, 94, 173, 153, 211, 136, 247, 58, 252, 23, 207, 60, 58, 149, 93, 205, 207, 243, 151, 180, 123, 13, 30, 87, 147, 227, 195, 31, 109, 218, 211, 184, 104, 45, 126, 158, 199, 226, 201, 110, 227, 91, 123, 74, 220, 181, 253, 91, 82, 251, 167, 231, 88, 229, 76, 241, 177, 218, 191, 46, 165, 140, - 255, 70, 251, 115, 27, 254, 103, 228, 200, 61, 54, 105, 195, 169, 35, 61, 214, 218, 164, 13, 63, 184, 86, 245, 117, 157, 55, 252, 119, 239, 127, 178, 103, 27, 219, 235, 195, 119, 11, 74, 27, 214, 248, 171, 238, 84, 47, 105, 195, 98, 77, 7, 247, 243, 146, 54, 124, 117, 68, 157, 38, 30, 210, 134, 157, 186, 167, 245, 242, 144, 54, 156, 179, 254, 243, 81, 249, 165, 13, 211, 239, 100, 20, 240, 148, 54, 28, 191, 61, 100, 172, 182, 97, 192, 188, 38, 37, 61, 164, 13, - 95, 121, 212, 170, 130, 182, 225, 128, 3, 15, 188, 181, 13, 235, 87, 13, 217, 165, 109, 24, 157, 60, 104, 183, 182, 225, 196, 155, 145, 237, 180, 13, 207, 22, 121, 216, 89, 99, 134, 135, 198, 111, 219, 151, 49, 251, 231, 254, 105, 149, 217, 188, 188, 21, 191, 218, 148, 146, 107, 61, 59, 126, 26, 171, 7, 221, 94, 251, 192, 75, 98, 181, 119, 198, 144, 72, 237, 239, 123, 83, 55, 173, 243, 146, 88, 141, 139, 57, 63, 90, 231, 149, 204, 106, 231, 126, 211, 254, 126, 241, - 219, 69, 193, 218, 223, 111, 28, 219, 25, 166, 253, 61, 112, 212, 245, 251, 26, 171, 161, 75, 3, 190, 242, 148, 88, 157, 40, 145, 53, 93, 99, 213, 240, 151, 110, 125, 61, 36, 86, 93, 179, 214, 36, 112, 156, 184, 109, 166, 110, 111, 117, 81, 251, 254, 4, 159, 208, 156, 252, 18, 183, 164, 173, 89, 133, 2, 36, 110, 151, 215, 20, 11, 47, 44, 113, 91, 248, 97, 234, 122, 15, 137, 219, 189, 233, 145, 191, 228, 147, 184, 101, 53, 168, 198, 183, 34, 218, 251, 126, 250, - 129, 162, 163, 248, 92, 184, 239, 175, 24, 120, 184, 24, 51, 247, 253, 157, 147, 203, 84, 102, 135, 251, 254, 236, 73, 117, 251, 114, 221, 184, 239, 63, 190, 124, 41, 137, 29, 238, 147, 137, 103, 51, 191, 102, 246, 165, 228, 191, 175, 124, 53, 102, 238, 251, 61, 102, 117, 159, 207, 204, 125, 127, 196, 129, 195, 43, 57, 31, 238, 251, 243, 26, 165, 218, 184, 14, 220, 247, 187, 249, 126, 63, 157, 29, 238, 251, 187, 142, 164, 248, 241, 243, 124, 14, 153, 111, 21, 56, 203, 252, - 2, 165, 14, 139, 155, 143, 101, 167, 58, 199, 211, 86, 190, 2, 199, 32, 144, 210, 111, 249, 126, 180, 199, 144, 191, 188, 111, 230, 209, 181, 203, 152, 131, 40, 197, 191, 93, 46, 191, 125, 13, 161, 180, 184, 242, 63, 236, 183, 207, 241, 27, 80, 62, 177, 197, 249, 11, 2, 204, 139, 148, 154, 246, 79, 191, 201, 92, 139, 210, 233, 94, 85, 7, 240, 121, 133, 80, 250, 53, 54, 177, 60, 115, 40, 165, 89, 23, 50, 107, 48, 191, 68, 105, 208, 230, 22, 87, 61, 164, 223, - 140, 238, 208, 231, 91, 174, 15, 119, 174, 168, 187, 63, 21, 99, 231, 101, 74, 175, 175, 171, 116, 137, 153, 215, 6, 191, 195, 15, 74, 176, 95, 135, 210, 128, 144, 114, 135, 249, 121, 30, 179, 73, 241, 39, 50, 153, 35, 184, 237, 26, 175, 231, 143, 174, 155, 72, 74, 27, 239, 237, 59, 206, 28, 69, 105, 228, 79, 59, 75, 112, 221, 180, 255, 150, 92, 25, 179, 191, 169, 151, 205, 94, 70, 98, 5, 171, 255, 242, 109, 141, 113, 161, 174, 215, 159, 155, 241, 126, 129, 218, - 143, 27, 30, 253, 249, 7, 29, 243, 1, 103, 250, 122, 242, 207, 185, 31, 111, 238, 112, 188, 190, 246, 227, 168, 127, 103, 45, 227, 248, 114, 223, 153, 219, 226, 61, 155, 174, 143, 1, 219, 203, 93, 249, 251, 24, 211, 250, 173, 162, 250, 13, 167, 17, 203, 110, 116, 101, 171, 126, 220, 119, 162, 235, 186, 174, 95, 214, 200, 54, 205, 116, 93, 57, 58, 115, 79, 188, 174, 43, 93, 190, 61, 180, 67, 199, 217, 207, 17, 161, 131, 60, 164, 126, 137, 223, 221, 108, 162, 245, 27, - 250, 217, 131, 3, 30, 82, 191, 113, 15, 182, 173, 224, 215, 242, 56, 171, 180, 109, 198, 114, 221, 203, 124, 85, 231, 216, 60, 206, 135, 199, 89, 239, 158, 213, 238, 241, 107, 121, 156, 197, 103, 85, 60, 206, 175, 229, 113, 230, 121, 48, 181, 143, 206, 73, 69, 202, 254, 144, 205, 62, 143, 173, 198, 30, 245, 167, 235, 156, 212, 107, 199, 173, 26, 252, 60, 143, 173, 75, 43, 123, 76, 96, 230, 177, 149, 52, 238, 81, 33, 62, 15, 30, 91, 223, 236, 43, 22, 196, 117, 224, - 177, 21, 48, 35, 223, 143, 186, 174, 28, 28, 92, 116, 136, 174, 43, 195, 198, 248, 71, 120, 252, 45, 126, 15, 41, 126, 105, 212, 99, 185, 156, 12, 137, 95, 35, 142, 95, 196, 179, 227, 199, 49, 27, 120, 120, 196, 102, 109, 211, 218, 243, 11, 71, 234, 60, 126, 171, 112, 179, 37, 58, 143, 31, 91, 249, 7, 127, 222, 222, 30, 179, 61, 141, 218, 215, 208, 185, 169, 217, 206, 66, 207, 107, 204, 194, 50, 103, 221, 211, 152, 125, 238, 209, 191, 96, 73, 137, 153, 247, 165, - 231, 219, 122, 72, 204, 234, 44, 127, 247, 53, 93, 139, 253, 171, 60, 156, 168, 115, 211, 202, 129, 197, 249, 47, 200, 218, 99, 182, 235, 154, 45, 210, 91, 98, 86, 178, 245, 198, 153, 222, 18, 179, 77, 222, 187, 195, 61, 36, 102, 245, 223, 40, 186, 92, 231, 241, 94, 91, 194, 186, 61, 109, 238, 198, 248, 12, 90, 21, 179, 63, 182, 144, 205, 94, 7, 95, 63, 43, 62, 13, 40, 37, 71, 185, 238, 95, 231, 139, 134, 84, 212, 254, 95, 192, 43, 230, 162, 198, 170, 84, - 157, 191, 166, 121, 72, 172, 214, 135, 251, 242, 183, 18, 216, 99, 101, 230, 47, 245, 249, 251, 250, 251, 61, 149, 127, 130, 202, 231, 115, 137, 174, 98, 123, 178, 46, 164, 213, 119, 221, 62, 243, 31, 166, 46, 210, 50, 187, 191, 54, 234, 186, 182, 207, 237, 225, 233, 213, 92, 237, 187, 180, 252, 242, 95, 209, 254, 175, 176, 205, 218, 255, 73, 249, 246, 58, 190, 226, 186, 252, 152, 141, 187, 127, 209, 242, 15, 213, 138, 26, 166, 239, 203, 108, 47, 51, 232, 77, 221, 171, 109, - 234, 157, 112, 76, 199, 84, 147, 142, 119, 236, 237, 199, 253, 163, 82, 246, 75, 75, 249, 145, 251, 199, 177, 124, 63, 77, 214, 117, 254, 72, 64, 233, 3, 186, 118, 29, 244, 155, 244, 100, 157, 223, 190, 50, 187, 0, 151, 195, 253, 227, 104, 131, 102, 125, 248, 181, 220, 63, 82, 54, 52, 204, 247, 180, 183, 244, 244, 252, 226, 232, 252, 234, 22, 181, 217, 203, 143, 174, 106, 157, 95, 43, 74, 190, 79, 59, 191, 226, 25, 159, 20, 160, 212, 176, 51, 189, 158, 82, 64, 47, - 43, 245, 238, 99, 165, 234, 195, 173, 52, 102, 188, 149, 134, 108, 176, 210, 141, 205, 86, 42, 126, 208, 74, 125, 190, 183, 210, 11, 63, 90, 105, 183, 164, 107, 255, 178, 146, 251, 112, 31, 238, 195, 125, 184, 15, 247, 225, 62, 220, 135, 251, 112, 31, 238, 227, 127, 239, 72, 245, 183, 153, 184, 59, 54, 147, 70, 143, 209, 244, 120, 198, 203, 211, 100, 16, 251, 211, 149, 228, 118, 122, 60, 74, 105, 51, 165, 234, 244, 255, 131, 118, 215, 195, 156, 32, 103, 47, 251, 244, 156, - 47, 165, 12, 250, 127, 218, 30, 111, 179, 146, 210, 246, 198, 158, 166, 148, 183, 167, 89, 77, 143, 103, 152, 41, 221, 166, 159, 207, 161, 199, 194, 77, 60, 205, 209, 70, 158, 38, 135, 120, 52, 165, 33, 252, 28, 187, 244, 186, 5, 196, 87, 41, 121, 81, 138, 38, 47, 35, 137, 92, 226, 68, 74, 39, 110, 122, 155, 24, 122, 76, 167, 215, 182, 165, 199, 236, 18, 249, 140, 239, 86, 111, 19, 76, 222, 85, 122, 110, 58, 61, 87, 129, 203, 33, 190, 74, 101, 189, 203, 249, - 208, 207, 252, 41, 53, 39, 126, 72, 254, 109, 122, 236, 65, 105, 25, 149, 149, 64, 121, 167, 19, 15, 167, 60, 114, 232, 53, 241, 244, 88, 152, 243, 165, 84, 143, 82, 48, 165, 12, 42, 51, 172, 177, 117, 197, 90, 138, 242, 201, 38, 111, 25, 253, 63, 135, 242, 247, 167, 199, 127, 80, 218, 75, 201, 119, 163, 183, 241, 162, 115, 56, 67, 63, 191, 75, 229, 164, 114, 93, 216, 39, 207, 139, 126, 214, 219, 199, 102, 98, 40, 37, 82, 74, 160, 114, 250, 208, 99, 28, 165, - 104, 74, 67, 232, 255, 201, 148, 222, 37, 238, 65, 169, 228, 135, 198, 196, 210, 99, 115, 74, 77, 41, 189, 206, 55, 175, 150, 252, 251, 111, 79, 140, 201, 254, 127, 113, 252, 79, 143, 4, 247, 225, 62, 220, 135, 251, 112, 31, 238, 195, 125, 184, 15, 247, 225, 62, 220, 135, 251, 248, 191, 119, 240, 239, 1, 123, 8, 191, 83, 193, 193, 95, 16, 191, 71, 63, 61, 243, 254, 242, 166, 246, 207, 115, 208, 63, 157, 125, 140, 185, 71, 207, 251, 11, 243, 243, 252, 249, 146, 21, - 30, 22, 183, 176, 57, 152, 125, 47, 114, 11, 84, 180, 124, 102, 245, 223, 55, 14, 95, 153, 253, 161, 228, 148, 19, 127, 40, 248, 15, 11, 59, 124, 101, 246, 251, 7, 26, 19, 44, 62, 179, 250, 123, 109, 14, 95, 153, 253, 208, 32, 99, 94, 17, 159, 89, 253, 241, 224, 143, 7, 127, 99, 176, 49, 173, 197, 103, 86, 127, 108, 65, 135, 175, 204, 254, 75, 117, 40, 126, 226, 51, 171, 95, 29, 242, 175, 14, 249, 119, 168, 107, 204, 96, 241, 153, 213, 175, 239, 233, 240, - 149, 217, 255, 103, 148, 49, 83, 196, 103, 86, 63, 11, 234, 147, 5, 245, 153, 212, 216, 152, 133, 226, 51, 171, 255, 98, 17, 135, 175, 204, 126, 106, 27, 74, 226, 51, 171, 127, 20, 218, 247, 40, 180, 111, 66, 59, 99, 14, 137, 207, 172, 126, 5, 47, 135, 175, 204, 254, 130, 14, 198, 92, 20, 159, 89, 253, 211, 144, 255, 105, 200, 127, 96, 39, 99, 110, 139, 207, 172, 254, 41, 232, 63, 202, 236, 243, 239, 170, 31, 137, 207, 172, 190, 31, 248, 204, 229, 42, 25, 19, - 64, 229, 124, 250, 187, 49, 129, 204, 20, 99, 223, 226, 54, 19, 33, 28, 71, 220, 76, 56, 153, 184, 157, 112, 6, 113, 119, 245, 75, 216, 76, 188, 250, 196, 99, 212, 39, 158, 38, 124, 155, 248, 51, 225, 187, 196, 75, 132, 77, 73, 155, 89, 39, 28, 77, 188, 93, 56, 129, 248, 144, 112, 26, 241, 247, 234, 63, 103, 51, 25, 90, 46, 241, 175, 196, 190, 242, 86, 208, 31, 192, 5, 42, 59, 184, 24, 112, 25, 224, 170, 192, 161, 192, 81, 192, 141, 128, 91, 2, 119, - 0, 238, 13, 60, 24, 248, 67, 224, 169, 192, 179, 129, 23, 3, 219, 231, 31, 27, 176, 133, 102, 69, 101, 7, 95, 171, 156, 123, 46, 234, 70, 237, 27, 230, 107, 181, 117, 55, 104, 235, 159, 160, 173, 149, 217, 143, 234, 98, 76, 19, 241, 153, 213, 255, 22, 198, 166, 50, 251, 191, 197, 25, 211, 81, 124, 102, 245, 171, 64, 95, 173, 2, 125, 181, 84, 119, 99, 226, 197, 103, 86, 63, 4, 242, 15, 129, 252, 99, 232, 228, 166, 137, 207, 172, 254, 8, 168, 255, 8, 168, - 255, 14, 114, 190, 16, 127, 7, 248, 29, 32, 255, 14, 144, 127, 217, 247, 140, 217, 37, 62, 179, 250, 197, 192, 47, 6, 62, 127, 190, 227, 148, 248, 204, 206, 198, 142, 179, 246, 250, 205, 215, 193, 97, 126, 185, 219, 171, 9, 229, 57, 222, 207, 202, 191, 9, 228, 191, 6, 242, 87, 102, 63, 155, 156, 57, 226, 103, 131, 191, 21, 252, 173, 224, 175, 237, 109, 76, 138, 248, 204, 174, 124, 254, 28, 203, 94, 241, 153, 157, 157, 239, 21, 63, 215, 125, 245, 150, 31, 156, 123, - 149, 220, 231, 62, 149, 242, 31, 91, 197, 42, 107, 42, 148, 117, 4, 202, 58, 2, 117, 107, 219, 151, 230, 121, 241, 153, 213, 175, 13, 235, 66, 109, 88, 23, 38, 247, 55, 38, 73, 124, 102, 245, 143, 65, 254, 199, 48, 255, 1, 52, 79, 105, 254, 3, 28, 126, 83, 232, 27, 202, 246, 121, 123, 32, 173, 127, 226, 51, 171, 191, 20, 242, 95, 10, 249, 55, 136, 55, 102, 167, 248, 204, 234, 135, 131, 31, 14, 254, 80, 114, 142, 138, 63, 52, 15, 126, 10, 57, 231, 196, - 79, 201, 131, 127, 137, 156, 59, 226, 95, 2, 191, 30, 248, 245, 192, 175, 72, 155, 146, 28, 241, 153, 213, 111, 3, 126, 27, 240, 227, 201, 41, 88, 213, 242, 227, 223, 119, 93, 159, 21, 228, 148, 23, 127, 69, 30, 252, 116, 114, 106, 137, 159, 14, 126, 67, 240, 27, 98, 253, 7, 209, 62, 71, 124, 102, 87, 249, 183, 33, 39, 86, 252, 54, 224, 183, 7, 191, 61, 248, 41, 228, 244, 21, 63, 5, 252, 214, 224, 183, 6, 255, 15, 114, 70, 139, 255, 71, 30, 252, 150, - 131, 141, 249, 88, 124, 102, 245, 235, 130, 95, 23, 252, 201, 228, 44, 17, 127, 114, 30, 252, 157, 228, 124, 39, 254, 206, 60, 248, 15, 200, 249, 65, 252, 7, 131, 93, 199, 179, 230, 16, 99, 50, 197, 103, 118, 149, 127, 79, 114, 238, 137, 223, 51, 15, 254, 66, 114, 10, 250, 91, 254, 66, 240, 235, 131, 95, 31, 252, 115, 228, 248, 138, 127, 46, 15, 126, 217, 161, 180, 70, 138, 207, 172, 126, 99, 240, 27, 131, 223, 137, 156, 55, 196, 239, 4, 254, 16, 240, 135, 128, - 127, 146, 156, 174, 226, 159, 4, 255, 115, 240, 63, 7, 191, 239, 7, 198, 12, 19, 159, 89, 253, 45, 224, 111, 1, 191, 234, 48, 99, 166, 139, 207, 236, 170, 189, 222, 33, 231, 11, 241, 223, 1, 255, 56, 248, 199, 193, 231, 207, 62, 174, 21, 159, 89, 125, 63, 240, 153, 15, 208, 147, 190, 242, 65, 215, 211, 192, 25, 192, 119, 128, 115, 128, 139, 84, 115, 112, 89, 224, 106, 192, 225, 192, 141, 128, 223, 2, 238, 1, 60, 4, 120, 42, 240, 60, 224, 20, 224, 157, 192, - 199, 170, 57, 214, 193, 139, 192, 191, 0, 123, 6, 56, 248, 57, 224, 138, 192, 65, 192, 145, 192, 45, 128, 59, 3, 247, 7, 254, 16, 120, 38, 240, 18, 224, 77, 192, 251, 128, 207, 3, 223, 4, 126, 12, 92, 228, 5, 7, 87, 2, 14, 6, 142, 2, 110, 6, 252, 46, 112, 63, 224, 17, 192, 147, 128, 103, 1, 127, 1, 188, 30, 120, 23, 240, 41, 224, 12, 224, 44, 224, 63, 129, 255, 163, 186, 131, 75, 3, 7, 2, 191, 12, 220, 16, 184, 21, 112, 103, 224, 126, - 192, 195, 129, 199, 1, 127, 2, 188, 16, 120, 29, 240, 110, 224, 31, 129, 111, 0, 63, 2, 46, 24, 232, 224, 146, 192, 149, 129, 131, 128, 163, 129, 219, 3, 119, 3, 30, 0, 60, 18, 120, 34, 240, 76, 226, 128, 252, 116, 45, 86, 51, 159, 125, 92, 63, 109, 239, 183, 40, 16, 246, 129, 129, 214, 222, 239, 44, 236, 253, 154, 209, 252, 16, 89, 195, 154, 43, 154, 193, 92, 81, 195, 56, 230, 10, 101, 246, 7, 147, 19, 43, 254, 96, 240, 107, 130, 95, 19, 252, 100, - 114, 122, 137, 159, 12, 126, 83, 240, 155, 130, 127, 157, 156, 15, 196, 191, 14, 62, 255, 89, 32, 245, 149, 217, 191, 77, 23, 33, 83, 196, 103, 86, 191, 32, 92, 7, 21, 132, 235, 160, 251, 163, 140, 153, 47, 62, 179, 250, 217, 80, 159, 108, 168, 207, 205, 209, 180, 239, 23, 159, 89, 253, 116, 240, 211, 193, 223, 63, 134, 230, 85, 241, 153, 213, 111, 14, 126, 115, 240, 249, 115, 20, 223, 139, 207, 172, 126, 59, 240, 219, 129, 223, 155, 156, 76, 241, 123, 131, 95, 0, - 226, 163, 108, 223, 251, 141, 53, 230, 119, 241, 153, 213, 95, 4, 249, 47, 130, 252, 139, 38, 80, 10, 178, 124, 102, 245, 131, 192, 15, 2, 63, 130, 156, 42, 226, 71, 128, 63, 20, 252, 161, 224, 175, 37, 231, 85, 241, 215, 130, 223, 11, 252, 94, 224, 151, 30, 71, 231, 47, 62, 179, 171, 250, 68, 147, 51, 64, 252, 232, 60, 248, 253, 200, 153, 35, 126, 63, 240, 67, 192, 15, 1, 127, 62, 57, 27, 196, 159, 159, 7, 255, 8, 57, 199, 197, 63, 2, 254, 6, 240, - 55, 128, 207, 247, 43, 220, 22, 159, 89, 125, 63, 240, 153, 243, 7, 59, 214, 190, 210, 192, 129, 192, 49, 193, 142, 185, 130, 95, 251, 180, 249, 225, 205, 96, 7, 47, 8, 206, 61, 63, 44, 162, 58, 220, 9, 182, 234, 179, 8, 234, 179, 15, 234, 163, 204, 126, 247, 9, 180, 79, 16, 159, 217, 149, 95, 61, 209, 152, 124, 53, 101, 175, 146, 232, 240, 31, 131, 255, 24, 252, 170, 19, 141, 41, 46, 62, 179, 250, 221, 193, 239, 14, 254, 36, 114, 252, 196, 159, 4, 190, - 179, 249, 106, 35, 57, 53, 197, 223, 152, 7, 63, 131, 156, 40, 241, 51, 192, 111, 8, 126, 67, 240, 253, 38, 209, 222, 84, 124, 102, 87, 245, 79, 36, 167, 149, 248, 137, 224, 59, 27, 191, 85, 38, 27, 19, 39, 62, 179, 43, 63, 141, 156, 129, 226, 167, 129, 239, 108, 254, 41, 51, 133, 214, 35, 241, 153, 213, 175, 8, 239, 169, 42, 179, 95, 123, 186, 49, 211, 196, 103, 158, 75, 156, 104, 28, 253, 240, 89, 107, 193, 40, 242, 119, 201, 107, 153, 213, 63, 98, 115, - 248, 202, 236, 55, 254, 152, 246, 235, 226, 51, 171, 31, 83, 192, 225, 43, 179, 63, 237, 51, 99, 126, 22, 159, 89, 253, 246, 176, 118, 180, 135, 181, 227, 242, 92, 90, 67, 197, 103, 86, 255, 61, 168, 255, 123, 80, 255, 166, 116, 145, 112, 95, 124, 230, 39, 125, 3, 234, 223, 16, 234, 63, 117, 158, 177, 223, 152, 234, 47, 236, 42, 255, 44, 114, 138, 139, 159, 5, 254, 21, 240, 175, 128, 127, 106, 62, 245, 57, 241, 153, 213, 191, 11, 254, 93, 240, 119, 47, 160, 185, - 76, 124, 102, 245, 7, 130, 63, 16, 252, 208, 133, 116, 93, 47, 62, 179, 250, 206, 214, 214, 106, 212, 17, 91, 136, 207, 172, 254, 73, 240, 79, 130, 127, 159, 156, 183, 197, 191, 159, 7, 255, 192, 98, 26, 11, 226, 51, 171, 127, 17, 252, 139, 224, 175, 72, 166, 235, 55, 241, 153, 93, 229, 63, 236, 11, 90, 219, 196, 103, 118, 213, 94, 23, 200, 249, 72, 252, 11, 224, 143, 134, 254, 160, 108, 191, 238, 91, 74, 107, 147, 248, 204, 234, 59, 123, 223, 44, 96, 25, 141, - 109, 241, 153, 213, 31, 4, 249, 15, 130, 252, 231, 46, 167, 125, 175, 248, 204, 234, 191, 5, 254, 91, 224, 223, 89, 65, 115, 132, 248, 204, 234, 63, 130, 250, 60, 130, 250, 92, 251, 210, 152, 67, 226, 51, 171, 159, 31, 242, 207, 15, 249, 255, 178, 210, 152, 31, 196, 103, 86, 191, 31, 228, 223, 15, 242, 127, 103, 21, 237, 133, 52, 62, 171, 28, 126, 95, 240, 251, 130, 191, 135, 156, 127, 139, 191, 7, 252, 38, 224, 55, 1, 191, 224, 87, 198, 120, 215, 178, 124, 102, - 87, 126, 43, 114, 202, 138, 223, 42, 15, 254, 92, 114, 130, 196, 159, 155, 7, 255, 34, 57, 245, 196, 191, 8, 190, 179, 185, 125, 76, 10, 173, 239, 226, 51, 187, 242, 203, 175, 166, 235, 41, 241, 153, 93, 249, 91, 200, 121, 95, 252, 45, 224, 143, 2, 127, 20, 248, 97, 107, 140, 25, 43, 62, 179, 250, 206, 230, 171, 178, 107, 141, 249, 88, 124, 102, 87, 245, 217, 68, 206, 98, 241, 55, 229, 193, 111, 179, 206, 152, 20, 241, 153, 93, 245, 159, 29, 228, 108, 22, 127, - 7, 248, 206, 126, 71, 208, 119, 61, 223, 111, 107, 249, 204, 174, 234, 83, 224, 107, 186, 222, 20, 159, 217, 149, 191, 130, 156, 27, 226, 175, 200, 131, 31, 67, 27, 205, 135, 226, 51, 171, 239, 108, 239, 202, 247, 204, 22, 14, 177, 252, 33, 224, 251, 129, 207, 92, 61, 68, 126, 63, 88, 193, 102, 194, 137, 117, 207, 217, 32, 196, 186, 62, 141, 14, 205, 103, 90, 9, 199, 132, 58, 191, 86, 237, 18, 226, 224, 213, 33, 185, 247, 162, 73, 84, 135, 199, 82, 159, 36, 168, - 143, 179, 107, 213, 157, 228, 20, 13, 181, 252, 157, 224, 87, 7, 191, 58, 248, 215, 200, 241, 21, 255, 26, 248, 11, 108, 14, 95, 153, 253, 9, 169, 180, 167, 17, 159, 89, 253, 219, 144, 255, 109, 200, 127, 224, 38, 99, 222, 16, 159, 89, 125, 127, 200, 223, 31, 242, 159, 253, 141, 49, 157, 196, 103, 86, 127, 51, 248, 155, 193, 127, 99, 179, 49, 35, 196, 103, 118, 213, 31, 248, 94, 232, 25, 226, 223, 216, 236, 188, 125, 157, 181, 215, 154, 80, 7, 255, 30, 154, 187, - 189, 10, 110, 161, 249, 235, 37, 153, 63, 183, 56, 242, 119, 118, 45, 95, 116, 43, 245, 1, 241, 153, 213, 95, 6, 245, 89, 6, 245, 223, 64, 78, 188, 248, 27, 192, 191, 0, 254, 5, 240, 63, 217, 102, 204, 100, 241, 153, 213, 111, 11, 126, 91, 240, 175, 144, 51, 79, 252, 43, 224, 251, 64, 253, 125, 160, 254, 57, 219, 233, 154, 86, 124, 102, 245, 157, 237, 151, 250, 237, 48, 230, 160, 248, 204, 174, 206, 183, 216, 119, 180, 95, 21, 159, 89, 253, 202, 80, 159, 202, - 80, 159, 23, 119, 26, 243, 171, 248, 204, 174, 226, 83, 40, 141, 218, 163, 182, 229, 51, 187, 234, 207, 15, 200, 41, 43, 254, 3, 240, 187, 130, 223, 21, 252, 246, 187, 104, 124, 138, 207, 172, 190, 179, 249, 103, 10, 57, 13, 196, 159, 2, 254, 117, 240, 175, 131, 31, 191, 155, 230, 113, 241, 153, 213, 119, 118, 237, 63, 159, 156, 238, 226, 207, 7, 191, 40, 196, 83, 153, 253, 85, 123, 104, 191, 39, 62, 179, 250, 69, 192, 47, 2, 254, 55, 123, 141, 153, 46, 62, 179, - 250, 57, 224, 231, 128, 191, 97, 191, 49, 75, 196, 103, 118, 213, 31, 218, 29, 48, 38, 85, 124, 102, 245, 35, 192, 143, 0, 255, 19, 114, 14, 137, 255, 201, 1, 215, 241, 217, 74, 78, 166, 248, 91, 193, 119, 118, 109, 200, 223, 169, 144, 45, 62, 179, 250, 126, 224, 51, 251, 132, 89, 107, 129, 111, 132, 243, 181, 160, 106, 152, 131, 7, 134, 229, 158, 91, 66, 41, 255, 29, 97, 114, 173, 1, 101, 57, 91, 11, 58, 146, 115, 92, 252, 142, 224, 59, 91, 11, 38, 144, - 147, 33, 254, 4, 240, 203, 66, 219, 41, 179, 63, 239, 16, 237, 45, 197, 103, 86, 127, 24, 228, 63, 12, 242, 47, 113, 216, 152, 124, 47, 91, 62, 179, 250, 161, 224, 135, 130, 255, 42, 57, 101, 197, 127, 21, 252, 217, 224, 207, 6, 255, 44, 57, 47, 136, 127, 22, 252, 24, 168, 127, 12, 212, 223, 231, 168, 49, 225, 226, 51, 171, 255, 54, 92, 215, 43, 219, 199, 218, 9, 186, 198, 22, 159, 89, 253, 57, 80, 159, 57, 80, 31, 47, 186, 112, 122, 71, 124, 102, 245, - 157, 253, 142, 59, 154, 156, 190, 226, 71, 131, 239, 108, 46, 93, 71, 206, 24, 241, 215, 129, 31, 4, 231, 27, 4, 231, 123, 238, 148, 49, 51, 197, 103, 86, 223, 217, 90, 252, 231, 105, 99, 150, 138, 207, 236, 42, 255, 192, 179, 52, 102, 196, 103, 86, 223, 217, 222, 114, 54, 57, 199, 197, 159, 13, 190, 179, 223, 177, 30, 33, 231, 134, 248, 71, 192, 119, 182, 214, 243, 247, 156, 228, 136, 207, 236, 108, 108, 150, 15, 55, 79, 246, 111, 181, 194, 173, 113, 154, 16, 229, - 124, 156, 214, 15, 119, 240, 71, 225, 185, 199, 233, 52, 42, 235, 124, 184, 85, 238, 52, 40, 215, 217, 56, 77, 37, 39, 75, 252, 84, 240, 157, 141, 211, 116, 114, 60, 234, 88, 126, 58, 248, 29, 193, 239, 8, 126, 157, 31, 140, 41, 41, 62, 179, 43, 127, 22, 57, 254, 226, 207, 2, 63, 9, 252, 36, 240, 249, 123, 100, 34, 196, 103, 118, 22, 231, 14, 117, 172, 216, 38, 215, 119, 30, 219, 158, 117, 28, 188, 161, 78, 238, 216, 54, 229, 252, 235, 90, 101, 53, 133, - 178, 170, 65, 89, 213, 160, 110, 253, 201, 41, 37, 126, 255, 31, 93, 199, 54, 137, 156, 0, 241, 147, 192, 119, 246, 94, 40, 127, 119, 78, 164, 248, 187, 159, 113, 238, 206, 206, 151, 63, 99, 170, 156, 92, 55, 247, 249, 94, 161, 60, 175, 75, 254, 87, 242, 112, 190, 5, 126, 162, 125, 169, 248, 204, 234, 47, 6, 127, 49, 248, 95, 146, 243, 151, 248, 95, 130, 191, 13, 252, 109, 224, 119, 59, 71, 235, 92, 132, 229, 51, 171, 239, 244, 51, 126, 231, 41, 190, 226, 51, - 171, 159, 5, 126, 22, 248, 53, 210, 141, 105, 40, 62, 179, 250, 177, 240, 254, 100, 44, 188, 63, 57, 242, 103, 234, 187, 226, 51, 171, 223, 12, 242, 111, 6, 249, 239, 33, 103, 164, 248, 123, 192, 111, 9, 126, 75, 240, 75, 94, 52, 230, 51, 241, 153, 213, 31, 97, 115, 248, 202, 236, 127, 148, 97, 204, 118, 241, 153, 213, 159, 5, 254, 44, 240, 43, 94, 54, 230, 148, 248, 204, 234, 223, 7, 255, 62, 248, 207, 93, 53, 230, 170, 248, 204, 234, 159, 1, 255, 12, 248, - 252, 157, 78, 57, 226, 51, 59, 235, 159, 229, 34, 29, 115, 224, 139, 192, 81, 192, 205, 129, 219, 3, 247, 5, 254, 0, 120, 10, 240, 124, 96, 103, 99, 225, 235, 72, 7, 167, 71, 90, 99, 225, 94, 230, 253, 198, 122, 46, 197, 51, 141, 41, 29, 37, 123, 45, 226, 42, 81, 185, 223, 87, 143, 133, 56, 196, 66, 28, 226, 174, 25, 243, 166, 188, 150, 89, 253, 56, 136, 131, 50, 251, 105, 228, 116, 17, 63, 13, 252, 120, 240, 227, 193, 15, 161, 77, 121, 127, 241, 153, - 213, 79, 0, 63, 1, 252, 245, 228, 140, 21, 127, 61, 248, 190, 224, 251, 130, 127, 130, 156, 207, 196, 63, 1, 190, 179, 235, 8, 115, 195, 152, 213, 226, 51, 187, 202, 223, 151, 156, 125, 226, 251, 222, 112, 93, 255, 100, 114, 206, 139, 159, 12, 254, 122, 240, 215, 131, 31, 123, 147, 174, 163, 196, 103, 118, 21, 255, 245, 228, 252, 174, 241, 185, 233, 186, 62, 33, 183, 140, 201, 95, 79, 226, 127, 203, 225, 167, 129, 159, 6, 254, 93, 114, 74, 137, 127, 247, 150, 235, 248, - 20, 167, 139, 192, 26, 226, 51, 63, 233, 111, 224, 199, 130, 31, 71, 78, 3, 241, 227, 110, 187, 62, 223, 52, 114, 218, 138, 207, 220, 165, 94, 238, 190, 157, 80, 8, 206, 189, 144, 227, 181, 209, 15, 105, 159, 33, 175, 101, 86, 127, 38, 148, 197, 60, 183, 158, 99, 12, 46, 171, 103, 173, 197, 43, 163, 243, 153, 117, 194, 171, 163, 157, 175, 203, 56, 54, 183, 213, 203, 61, 54, 249, 251, 234, 254, 148, 58, 100, 64, 29, 186, 66, 29, 148, 53, 127, 254, 46, 189, 74, - 196, 53, 158, 183, 190, 155, 175, 40, 113, 105, 31, 235, 59, 20, 249, 249, 230, 62, 246, 95, 13, 217, 185, 189, 143, 245, 59, 69, 118, 248, 62, 130, 174, 194, 252, 185, 232, 113, 194, 252, 153, 225, 100, 97, 254, 12, 216, 22, 97, 254, 157, 242, 25, 97, 254, 125, 220, 101, 97, 126, 127, 239, 79, 97, 126, 47, 136, 203, 97, 230, 235, 184, 215, 132, 121, 223, 216, 77, 152, 247, 54, 19, 132, 121, 173, 95, 42, 204, 243, 234, 46, 97, 158, 91, 78, 11, 243, 60, 240, 47, - 97, 30, 35, 247, 133, 185, 63, 123, 121, 88, 204, 109, 93, 140, 89, 238, 125, 168, 196, 44, 247, 62, 188, 40, 204, 247, 62, 188, 34, 204, 247, 62, 188, 33, 204, 247, 62, 180, 87, 191, 132, 205, 244, 84, 159, 120, 144, 250, 196, 99, 133, 249, 222, 135, 143, 132, 249, 222, 135, 127, 10, 243, 189, 15, 203, 132, 249, 222, 135, 175, 133, 249, 222, 135, 239, 132, 249, 222, 135, 35, 234, 63, 71, 123, 20, 45, 151, 56, 83, 253, 10, 54, 147, 205, 172, 159, 207, 241, 180, 152, - 223, 11, 125, 78, 152, 223, 11, 245, 19, 230, 107, 225, 32, 97, 222, 111, 71, 8, 243, 254, 48, 70, 152, 251, 103, 75, 97, 238, 159, 29, 137, 139, 253, 87, 123, 103, 27, 28, 73, 113, 222, 241, 37, 246, 1, 6, 46, 62, 94, 14, 56, 48, 21, 39, 1, 18, 87, 124, 210, 73, 119, 146, 239, 136, 43, 230, 116, 146, 14, 197, 186, 147, 208, 234, 14, 82, 174, 98, 60, 218, 157, 149, 6, 205, 206, 44, 51, 179, 186, 211, 133, 36, 23, 200, 7, 40, 48, 21, 219, 161, - 66, 98, 187, 192, 54, 118, 92, 133, 73, 40, 202, 41, 59, 46, 7, 131, 141, 227, 248, 13, 98, 2, 137, 207, 1, 12, 38, 126, 137, 49, 134, 80, 21, 32, 49, 121, 121, 254, 221, 255, 153, 233, 217, 153, 93, 137, 72, 229, 162, 108, 127, 152, 218, 95, 63, 211, 211, 211, 211, 211, 221, 211, 253, 244, 211, 207, 74, 29, 134, 31, 145, 38, 25, 254, 75, 174, 38, 195, 175, 199, 187, 201, 240, 5, 242, 65, 50, 124, 128, 220, 65, 134, 79, 147, 191, 33, 195, 23, 202, 223, - 191, 70, 219, 221, 67, 63, 243, 24, 25, 186, 145, 103, 201, 208, 227, 157, 240, 90, 205, 208, 81, 108, 33, 67, 223, 242, 38, 50, 116, 119, 23, 37, 113, 132, 47, 37, 67, 231, 86, 39, 67, 127, 117, 136, 12, 221, 197, 141, 228, 235, 228, 190, 183, 37, 241, 69, 254, 183, 100, 232, 151, 254, 129, 12, 93, 214, 83, 100, 232, 169, 94, 32, 67, 71, 119, 210, 6, 205, 208, 183, 188, 145, 12, 93, 220, 69, 100, 232, 109, 46, 37, 67, 231, 54, 79, 134, 190, 244, 119, 201, - 208, 45, 223, 180, 65, 151, 201, 27, 165, 76, 62, 68, 57, 116, 182, 159, 32, 67, 63, 252, 69, 50, 116, 179, 79, 145, 161, 7, 254, 49, 25, 58, 231, 141, 199, 235, 116, 224, 119, 102, 243, 241, 90, 142, 253, 23, 253, 100, 236, 173, 24, 39, 99, 207, 218, 239, 144, 177, 7, 97, 145, 140, 253, 20, 55, 144, 177, 215, 224, 67, 100, 236, 43, 249, 107, 50, 246, 128, 124, 153, 140, 253, 5, 79, 145, 177, 151, 228, 69, 50, 230, 137, 39, 157, 192, 124, 74, 187, 62, 239, - 4, 157, 183, 219, 62, 191, 161, 50, 64, 57, 116, 41, 123, 200, 208, 99, 28, 36, 67, 71, 49, 79, 198, 252, 244, 15, 201, 208, 69, 188, 155, 12, 61, 195, 109, 100, 232, 16, 238, 34, 67, 63, 240, 121, 50, 230, 254, 15, 147, 49, 175, 255, 30, 25, 115, 240, 255, 36, 99, 254, 190, 241, 68, 205, 152, 107, 159, 79, 134, 222, 102, 136, 140, 57, 245, 111, 147, 49, 55, 185, 130, 140, 121, 208, 85, 100, 204, 113, 174, 37, 99, 238, 118, 11, 25, 243, 208, 143, 147, 49, - 7, 188, 135, 140, 249, 227, 3, 100, 204, 61, 159, 36, 99, 127, 202, 243, 39, 234, 178, 130, 95, 156, 31, 147, 225, 31, 232, 228, 215, 105, 134, 79, 157, 115, 200, 240, 253, 243, 27, 100, 248, 252, 249, 45, 50, 124, 254, 76, 145, 225, 163, 103, 142, 12, 191, 62, 33, 25, 62, 133, 174, 35, 195, 207, 207, 159, 146, 225, 155, 232, 99, 100, 248, 15, 250, 52, 25, 254, 125, 190, 66, 134, 47, 160, 99, 100, 248, 3, 250, 62, 25, 126, 130, 94, 32, 195, 55, 209, 235, 78, - 210, 12, 127, 67, 103, 159, 196, 247, 242, 6, 249, 246, 144, 177, 183, 241, 173, 100, 236, 91, 220, 79, 198, 158, 196, 57, 50, 246, 27, 198, 100, 236, 37, 188, 150, 140, 57, 220, 45, 100, 236, 1, 188, 147, 140, 253, 125, 247, 147, 177, 119, 239, 24, 25, 251, 242, 158, 37, 99, 207, 221, 203, 100, 236, 167, 59, 233, 100, 157, 79, 248, 81, 58, 155, 12, 127, 73, 23, 144, 225, 35, 105, 128, 12, 31, 71, 23, 147, 225, 171, 105, 138, 12, 223, 77, 239, 36, 195, 63, 211, - 85, 100, 248, 97, 250, 3, 50, 252, 61, 221, 68, 134, 111, 167, 15, 128, 95, 179, 169, 114, 138, 124, 83, 62, 66, 62, 81, 248, 78, 198, 129, 111, 165, 79, 145, 225, 59, 234, 254, 147, 117, 158, 97, 159, 246, 168, 138, 47, 117, 251, 220, 227, 42, 63, 160, 28, 118, 134, 47, 147, 97, 3, 182, 229, 20, 205, 176, 151, 219, 69, 134, 237, 229, 20, 25, 118, 113, 53, 50, 108, 44, 143, 144, 97, 63, 121, 61, 25, 182, 103, 31, 37, 195, 110, 237, 126, 50, 108, 20, 31, - 39, 195, 126, 239, 121, 50, 214, 199, 255, 151, 12, 59, 201, 211, 54, 234, 124, 142, 74, 62, 47, 220, 168, 229, 176, 87, 28, 34, 95, 44, 105, 190, 131, 12, 187, 193, 22, 227, 95, 34, 241, 111, 160, 28, 246, 153, 31, 32, 195, 22, 241, 46, 50, 108, 15, 238, 219, 168, 203, 7, 62, 166, 30, 161, 28, 107, 208, 223, 37, 195, 190, 229, 5, 50, 214, 226, 79, 252, 69, 205, 88, 247, 63, 139, 12, 123, 179, 11, 201, 88, 175, 188, 136, 140, 181, 233, 125, 100, 172, 179, - 219, 100, 172, 65, 7, 100, 216, 134, 29, 37, 195, 238, 235, 70, 50, 108, 186, 254, 156, 12, 123, 173, 143, 144, 97, 139, 117, 23, 25, 107, 169, 159, 37, 99, 221, 246, 1, 50, 214, 100, 191, 69, 134, 189, 196, 115, 100, 181, 22, 255, 122, 205, 176, 19, 56, 157, 12, 123, 173, 95, 33, 195, 22, 107, 128, 12, 187, 169, 221, 100, 216, 53, 93, 74, 134, 205, 210, 21, 100, 216, 3, 4, 100, 216, 38, 93, 77, 134, 157, 201, 123, 200, 88, 131, 254, 48, 25, 246, 60, 119, - 147, 97, 107, 113, 47, 25, 235, 236, 15, 146, 177, 198, 253, 40, 25, 246, 60, 63, 32, 195, 86, 231, 191, 200, 176, 35, 58, 121, 147, 102, 216, 239, 109, 38, 195, 54, 239, 151, 200, 88, 139, 223, 70, 134, 157, 204, 111, 146, 97, 163, 50, 70, 86, 182, 61, 100, 216, 222, 92, 78, 134, 221, 136, 77, 134, 189, 153, 71, 134, 61, 76, 155, 12, 219, 170, 163, 100, 216, 249, 92, 79, 198, 154, 254, 205, 100, 216, 83, 221, 186, 73, 215, 49, 248, 113, 187, 131, 12, 63, 103, - 159, 36, 195, 39, 219, 23, 201, 240, 239, 246, 48, 25, 254, 212, 158, 36, 195, 143, 219, 143, 200, 240, 187, 246, 34, 25, 254, 213, 54, 156, 202, 254, 89, 248, 116, 50, 124, 181, 93, 64, 134, 143, 184, 157, 100, 248, 93, 219, 79, 134, 79, 53, 139, 12, 191, 110, 45, 50, 124, 192, 29, 61, 85, 231, 31, 235, 41, 55, 145, 161, 107, 186, 149, 12, 189, 205, 61, 100, 232, 100, 190, 73, 134, 126, 227, 121, 50, 116, 47, 103, 159, 166, 25, 122, 149, 62, 50, 116, 38, 23, - 147, 161, 143, 186, 156, 12, 221, 81, 72, 134, 222, 233, 6, 50, 246, 182, 124, 240, 52, 221, 174, 225, 203, 237, 14, 50, 252, 190, 221, 123, 26, 251, 58, 25, 27, 60, 76, 57, 124, 195, 61, 73, 134, 15, 184, 231, 24, 7, 62, 240, 94, 34, 191, 243, 102, 41, 183, 211, 117, 156, 43, 37, 206, 153, 100, 248, 150, 187, 240, 116, 29, 7, 62, 237, 6, 201, 240, 195, 247, 54, 50, 252, 232, 205, 146, 225, 143, 206, 59, 93, 231, 19, 123, 118, 174, 161, 28, 254, 247, 222, - 203, 52, 61, 73, 243, 118, 242, 81, 225, 79, 49, 62, 246, 224, 124, 141, 140, 253, 53, 223, 38, 99, 111, 227, 211, 100, 236, 91, 124, 137, 215, 194, 199, 221, 137, 103, 104, 134, 127, 187, 179, 200, 240, 123, 247, 171, 103, 232, 248, 208, 55, 238, 160, 28, 62, 239, 198, 206, 208, 249, 129, 79, 189, 41, 202, 225, 3, 239, 10, 50, 124, 226, 45, 50, 14, 252, 13, 30, 34, 195, 63, 224, 245, 100, 248, 237, 187, 153, 12, 127, 124, 127, 193, 123, 97, 143, 228, 221, 100, 236, - 127, 252, 2, 25, 123, 127, 30, 98, 124, 248, 21, 252, 14, 229, 216, 243, 248, 239, 100, 236, 103, 252, 31, 50, 246, 130, 109, 220, 204, 54, 43, 101, 120, 30, 25, 123, 208, 118, 145, 177, 255, 238, 237, 100, 236, 189, 106, 144, 177, 111, 235, 106, 50, 246, 136, 221, 64, 198, 126, 183, 91, 201, 216, 235, 247, 151, 100, 236, 139, 252, 12, 25, 123, 30, 31, 76, 210, 151, 56, 143, 37, 114, 185, 215, 179, 100, 181, 207, 238, 76, 205, 216, 243, 184, 137, 140, 253, 101, 23, 144, - 177, 247, 112, 23, 25, 251, 224, 102, 200, 216, 3, 232, 145, 177, 159, 241, 247, 206, 212, 101, 126, 185, 148, 249, 77, 103, 234, 242, 129, 31, 197, 219, 41, 135, 63, 195, 187, 201, 179, 168, 219, 140, 3, 127, 134, 95, 34, 195, 71, 227, 35, 100, 248, 88, 124, 146, 12, 191, 135, 63, 36, 195, 7, 227, 75, 188, 47, 244, 96, 199, 159, 165, 25, 122, 134, 51, 200, 208, 183, 252, 50, 25, 115, 255, 237, 100, 232, 232, 46, 78, 88, 230, 185, 7, 200, 208, 135, 92, 73, 134, - 238, 229, 40, 25, 122, 161, 119, 157, 165, 239, 11, 191, 138, 127, 70, 57, 244, 93, 127, 69, 86, 122, 42, 50, 244, 90, 143, 147, 161, 67, 251, 15, 176, 140, 91, 42, 50, 110, 57, 238, 108, 252, 87, 192, 38, 229, 172, 127, 243, 217, 72, 115, 83, 229, 232, 249, 199, 85, 222, 76, 254, 35, 225, 9, 242, 117, 194, 1, 249, 70, 225, 107, 200, 127, 44, 252, 126, 242, 159, 8, 127, 146, 124, 139, 240, 195, 228, 247, 11, 255, 136, 124, 155, 240, 235, 183, 104, 190, 93, 120, - 128, 252, 49, 225, 3, 228, 143, 11, 47, 109, 209, 207, 8, 223, 158, 215, 108, 97, 255, 38, 99, 137, 247, 108, 209, 249, 127, 173, 228, 255, 125, 140, 3, 223, 158, 31, 37, 195, 223, 231, 157, 228, 123, 133, 63, 65, 134, 175, 207, 251, 200, 240, 1, 250, 32, 25, 190, 65, 143, 145, 159, 16, 126, 138, 12, 159, 160, 207, 144, 225, 71, 244, 37, 50, 124, 136, 30, 127, 14, 251, 55, 225, 83, 19, 126, 230, 184, 202, 27, 200, 240, 69, 250, 107, 41, 255, 66, 101, 224, 28, - 157, 127, 172, 53, 188, 229, 28, 253, 140, 119, 201, 189, 46, 97, 28, 248, 34, 157, 37, 195, 119, 233, 59, 24, 31, 127, 130, 97, 159, 3, 125, 208, 113, 234, 111, 65, 174, 52, 248, 93, 138, 149, 122, 168, 114, 139, 193, 31, 54, 248, 211, 70, 252, 207, 25, 252, 117, 131, 143, 25, 252, 132, 193, 207, 25, 233, 188, 104, 200, 255, 219, 224, 13, 231, 102, 188, 217, 224, 243, 12, 190, 192, 224, 55, 27, 60, 100, 240, 91, 13, 30, 49, 120, 194, 224, 105, 131, 47, 51, 120, - 193, 224, 214, 185, 89, 158, 175, 53, 228, 55, 24, 252, 94, 131, 223, 103, 240, 237, 6, 223, 105, 240, 103, 12, 190, 223, 224, 175, 26, 252, 144, 193, 223, 48, 248, 105, 131, 95, 54, 88, 251, 148, 209, 124, 138, 193, 155, 13, 62, 207, 224, 11, 12, 238, 51, 248, 109, 6, 95, 98, 240, 140, 193, 255, 188, 65, 234, 187, 28, 159, 211, 127, 40, 119, 244, 231, 71, 247, 227, 190, 87, 65, 25, 221, 43, 121, 184, 71, 142, 207, 202, 33, 195, 131, 10, 254, 88, 239, 11, 27, - 180, 78, 233, 239, 228, 248, 146, 28, 95, 150, 227, 43, 114, 124, 85, 142, 175, 233, 60, 95, 252, 128, 252, 62, 40, 7, 254, 108, 231, 235, 114, 60, 36, 199, 63, 202, 241, 176, 28, 143, 200, 241, 79, 114, 124, 67, 142, 99, 114, 124, 147, 215, 252, 139, 252, 62, 42, 199, 99, 114, 60, 46, 199, 183, 228, 120, 66, 14, 252, 17, 225, 183, 55, 104, 221, 213, 191, 202, 241, 29, 57, 190, 203, 107, 190, 39, 191, 223, 151, 227, 223, 228, 144, 97, 74, 229, 105, 57, 126, 40, - 199, 51, 27, 176, 22, 96, 89, 81, 108, 135, 177, 252, 54, 107, 158, 99, 251, 242, 245, 175, 47, 123, 117, 245, 23, 234, 214, 156, 235, 215, 93, 127, 222, 90, 112, 188, 150, 19, 74, 28, 117, 10, 255, 100, 109, 121, 65, 176, 40, 113, 45, 107, 239, 228, 212, 200, 238, 73, 203, 154, 176, 182, 89, 197, 191, 239, 46, 61, 111, 252, 217, 122, 233, 249, 236, 127, 198, 243, 167, 15, 204, 90, 83, 85, 75, 253, 81, 120, 254, 132, 72, 71, 170, 211, 123, 70, 171, 211, 49, 146, - 156, 170, 86, 15, 217, 173, 9, 63, 30, 24, 46, 137, 232, 250, 85, 167, 57, 107, 47, 58, 37, 55, 31, 59, 216, 253, 238, 234, 124, 213, 82, 127, 122, 238, 236, 89, 112, 189, 250, 172, 29, 45, 150, 68, 170, 142, 244, 76, 99, 118, 98, 223, 88, 239, 8, 35, 147, 189, 138, 96, 58, 12, 240, 47, 237, 213, 145, 125, 209, 124, 197, 194, 223, 140, 91, 234, 223, 228, 173, 57, 47, 168, 45, 230, 36, 135, 130, 176, 30, 81, 130, 63, 89, 207, 9, 150, 244, 95, 159, 51, - 228, 28, 86, 247, 210, 47, 215, 234, 219, 177, 99, 219, 142, 138, 213, 148, 7, 148, 74, 16, 71, 125, 67, 3, 3, 67, 185, 240, 246, 97, 57, 95, 107, 213, 157, 195, 49, 2, 219, 85, 192, 141, 84, 96, 16, 1, 143, 103, 6, 116, 192, 87, 215, 108, 171, 88, 115, 146, 5, 39, 148, 192, 208, 174, 138, 85, 103, 98, 67, 59, 43, 150, 151, 240, 91, 178, 132, 135, 183, 111, 203, 18, 30, 30, 220, 149, 37, 60, 60, 184, 51, 75, 120, 120, 16, 215, 132, 181, 190, 161, - 157, 67, 3, 138, 172, 237, 131, 86, 108, 207, 137, 96, 135, 92, 180, 191, 221, 156, 106, 57, 126, 223, 240, 192, 78, 57, 45, 101, 200, 63, 172, 151, 162, 136, 164, 204, 156, 120, 220, 179, 231, 37, 157, 157, 219, 229, 116, 228, 52, 173, 90, 28, 74, 228, 65, 220, 220, 143, 251, 118, 236, 220, 62, 172, 18, 153, 105, 227, 110, 3, 59, 229, 214, 177, 219, 116, 250, 118, 12, 15, 13, 177, 252, 60, 201, 34, 81, 110, 191, 93, 138, 64, 106, 228, 94, 39, 150, 23, 58, 43, - 25, 158, 137, 125, 37, 65, 213, 151, 122, 154, 4, 15, 248, 94, 96, 215, 119, 183, 90, 227, 174, 231, 36, 194, 203, 240, 238, 140, 72, 214, 172, 220, 171, 194, 138, 59, 234, 120, 90, 142, 151, 29, 141, 135, 142, 190, 44, 169, 156, 182, 87, 107, 123, 168, 159, 51, 123, 50, 97, 208, 90, 158, 13, 36, 193, 74, 215, 58, 76, 185, 36, 238, 168, 91, 167, 146, 49, 169, 22, 146, 189, 52, 44, 79, 36, 193, 137, 209, 130, 96, 100, 121, 191, 141, 92, 230, 196, 157, 162, 233, - 32, 240, 70, 218, 13, 83, 52, 227, 68, 78, 60, 187, 220, 202, 197, 67, 166, 38, 252, 70, 144, 202, 38, 252, 90, 232, 52, 29, 95, 157, 217, 19, 180, 253, 24, 125, 7, 79, 78, 59, 97, 99, 50, 152, 223, 93, 175, 103, 34, 185, 145, 126, 200, 76, 212, 46, 220, 126, 198, 153, 151, 183, 230, 132, 230, 3, 38, 50, 41, 132, 177, 195, 69, 105, 161, 200, 36, 255, 113, 16, 58, 227, 97, 208, 52, 203, 77, 189, 195, 217, 160, 186, 28, 73, 206, 42, 105, 223, 178, 7, - 93, 236, 129, 86, 118, 195, 124, 127, 147, 136, 246, 122, 193, 156, 237, 141, 218, 177, 157, 201, 146, 44, 100, 146, 170, 227, 215, 199, 150, 164, 80, 74, 68, 151, 185, 241, 130, 249, 162, 120, 14, 53, 169, 243, 26, 60, 206, 62, 219, 101, 37, 26, 175, 38, 191, 214, 200, 114, 236, 160, 35, 149, 96, 210, 91, 119, 156, 57, 224, 250, 49, 170, 122, 73, 191, 95, 236, 202, 19, 201, 225, 56, 180, 107, 49, 42, 188, 47, 213, 3, 5, 55, 109, 199, 11, 233, 249, 73, 169, 215, - 213, 5, 59, 116, 234, 217, 243, 119, 124, 51, 40, 170, 74, 69, 145, 231, 145, 239, 87, 179, 149, 10, 209, 162, 74, 19, 80, 111, 196, 76, 65, 186, 233, 206, 215, 1, 145, 170, 53, 211, 110, 82, 33, 69, 52, 234, 52, 236, 182, 23, 91, 151, 6, 81, 42, 235, 120, 46, 145, 160, 173, 55, 235, 123, 130, 186, 99, 138, 164, 143, 158, 168, 155, 130, 217, 32, 182, 61, 145, 78, 58, 254, 124, 242, 212, 114, 6, 73, 169, 254, 156, 225, 153, 218, 146, 25, 196, 187, 203, 135, - 11, 55, 171, 118, 222, 76, 11, 116, 223, 145, 136, 218, 115, 81, 45, 116, 231, 74, 36, 73, 101, 55, 101, 242, 42, 108, 47, 21, 231, 235, 9, 4, 146, 116, 21, 133, 159, 230, 12, 95, 174, 206, 50, 237, 248, 154, 37, 162, 124, 106, 234, 155, 88, 184, 178, 227, 67, 153, 202, 246, 234, 23, 111, 72, 166, 67, 215, 55, 99, 152, 169, 87, 241, 246, 39, 162, 189, 71, 80, 229, 68, 208, 112, 88, 47, 208, 141, 24, 61, 42, 223, 188, 244, 17, 42, 104, 118, 156, 169, 32, - 235, 55, 19, 81, 218, 101, 38, 2, 163, 3, 233, 20, 101, 97, 179, 207, 208, 210, 131, 85, 62, 126, 18, 236, 184, 202, 108, 220, 74, 50, 94, 205, 154, 27, 5, 108, 90, 12, 37, 143, 204, 160, 106, 64, 245, 144, 33, 179, 237, 80, 164, 27, 72, 26, 195, 154, 63, 98, 97, 68, 24, 90, 115, 237, 70, 148, 72, 228, 249, 101, 52, 168, 27, 145, 150, 52, 92, 207, 179, 92, 127, 14, 253, 42, 37, 94, 59, 90, 176, 14, 201, 216, 49, 56, 148, 200, 22, 218, 141, 88, - 18, 146, 130, 75, 36, 174, 223, 240, 84, 255, 156, 11, 38, 131, 152, 188, 176, 38, 21, 61, 234, 20, 214, 151, 165, 255, 112, 107, 157, 226, 134, 123, 216, 233, 188, 137, 165, 202, 59, 149, 182, 253, 35, 110, 43, 13, 180, 234, 242, 193, 150, 144, 20, 149, 42, 2, 245, 252, 201, 103, 45, 9, 164, 213, 98, 95, 80, 111, 123, 14, 62, 78, 70, 112, 82, 62, 226, 70, 80, 127, 213, 181, 160, 141, 42, 166, 235, 141, 33, 72, 234, 156, 14, 237, 117, 151, 204, 147, 24, 155, - 170, 224, 254, 203, 119, 135, 243, 53, 254, 46, 85, 100, 244, 138, 151, 168, 78, 165, 56, 88, 225, 232, 119, 119, 28, 219, 181, 133, 177, 195, 53, 167, 21, 203, 176, 46, 170, 116, 140, 138, 117, 8, 189, 212, 104, 181, 234, 30, 113, 76, 137, 30, 163, 84, 157, 121, 124, 98, 245, 135, 55, 61, 249, 118, 39, 244, 29, 175, 251, 121, 14, 71, 131, 16, 93, 79, 42, 85, 159, 245, 221, 242, 216, 134, 172, 218, 178, 107, 78, 45, 180, 27, 113, 46, 170, 110, 202, 185, 96, 56, - 25, 28, 218, 62, 56, 19, 120, 94, 176, 228, 132, 157, 39, 103, 93, 25, 249, 200, 71, 191, 42, 245, 223, 55, 83, 58, 24, 200, 203, 150, 215, 56, 234, 74, 235, 119, 154, 198, 25, 213, 87, 205, 217, 81, 122, 163, 105, 219, 71, 213, 209, 1, 20, 101, 250, 1, 79, 68, 204, 191, 81, 118, 104, 182, 106, 170, 164, 131, 210, 132, 248, 101, 72, 11, 125, 204, 95, 114, 195, 192, 111, 170, 239, 171, 142, 149, 27, 225, 165, 194, 72, 154, 181, 220, 33, 92, 114, 234, 29, 55, - 225, 192, 193, 200, 74, 225, 122, 53, 14, 76, 70, 55, 29, 2, 86, 142, 108, 176, 232, 228, 34, 141, 163, 105, 26, 97, 41, 154, 236, 117, 106, 137, 212, 197, 74, 231, 60, 41, 11, 98, 252, 112, 153, 237, 234, 199, 51, 122, 208, 228, 54, 137, 200, 76, 120, 124, 212, 12, 9, 171, 239, 74, 250, 218, 101, 158, 54, 169, 218, 188, 102, 253, 1, 87, 33, 121, 135, 123, 90, 203, 9, 74, 121, 107, 76, 91, 160, 17, 68, 11, 52, 130, 186, 212, 181, 192, 104, 129, 134, 192, - 200, 51, 27, 161, 145, 199, 172, 89, 26, 193, 180, 40, 46, 109, 59, 109, 199, 72, 80, 133, 141, 244, 84, 120, 47, 115, 155, 4, 210, 180, 149, 64, 6, 163, 42, 80, 149, 153, 181, 55, 213, 142, 91, 109, 25, 24, 164, 111, 184, 186, 220, 156, 11, 188, 73, 206, 176, 167, 244, 16, 205, 184, 33, 130, 114, 63, 123, 217, 12, 57, 198, 201, 177, 195, 124, 67, 8, 224, 230, 245, 92, 40, 201, 10, 194, 217, 176, 82, 4, 53, 47, 96, 19, 169, 225, 110, 138, 26, 81, 54, - 213, 80, 2, 87, 62, 198, 13, 221, 189, 120, 145, 227, 232, 87, 213, 92, 164, 168, 137, 10, 160, 40, 144, 25, 151, 130, 22, 62, 206, 13, 133, 152, 132, 18, 154, 1, 75, 55, 108, 242, 210, 182, 159, 93, 172, 230, 175, 32, 117, 11, 85, 171, 57, 128, 87, 108, 188, 130, 44, 156, 116, 170, 73, 145, 103, 1, 185, 84, 5, 102, 228, 86, 10, 170, 35, 230, 215, 182, 58, 194, 241, 21, 67, 198, 32, 48, 145, 24, 227, 164, 130, 72, 85, 231, 130, 84, 11, 140, 55, 169, - 4, 24, 157, 152, 183, 158, 173, 206, 90, 147, 19, 122, 252, 39, 33, 233, 97, 146, 241, 234, 238, 233, 137, 188, 160, 100, 56, 94, 118, 58, 25, 147, 155, 231, 70, 199, 246, 76, 237, 155, 158, 25, 171, 86, 243, 114, 233, 184, 210, 193, 248, 254, 220, 96, 220, 140, 149, 141, 157, 76, 233, 244, 204, 196, 193, 188, 196, 28, 162, 155, 242, 252, 56, 221, 60, 147, 27, 147, 203, 180, 92, 166, 112, 106, 128, 51, 27, 92, 226, 226, 147, 189, 172, 165, 122, 30, 35, 132, 207, 217, - 130, 83, 91, 60, 104, 123, 110, 221, 141, 151, 19, 33, 90, 255, 222, 32, 168, 235, 92, 106, 25, 245, 68, 8, 232, 174, 47, 9, 170, 174, 85, 255, 142, 232, 174, 70, 7, 144, 253, 156, 192, 66, 146, 99, 248, 194, 48, 188, 207, 110, 165, 172, 63, 161, 8, 164, 243, 64, 249, 30, 168, 129, 101, 137, 80, 117, 240, 144, 99, 64, 165, 30, 209, 124, 192, 209, 118, 179, 185, 60, 222, 246, 107, 170, 74, 136, 160, 16, 195, 20, 236, 97, 90, 74, 54, 17, 77, 248, 102, 68, - 169, 246, 251, 219, 77, 117, 42, 170, 170, 207, 144, 8, 117, 229, 34, 164, 121, 148, 106, 139, 215, 178, 79, 62, 163, 102, 56, 9, 166, 154, 182, 130, 202, 9, 2, 221, 22, 179, 24, 170, 153, 41, 210, 51, 23, 61, 53, 73, 131, 19, 186, 16, 85, 17, 99, 160, 152, 241, 84, 163, 17, 57, 113, 42, 145, 241, 167, 201, 185, 179, 173, 32, 52, 113, 60, 213, 225, 40, 81, 164, 70, 54, 42, 128, 185, 73, 54, 205, 210, 162, 100, 2, 165, 56, 206, 170, 148, 4, 164, 178, - 164, 207, 161, 131, 212, 184, 164, 97, 83, 73, 227, 68, 242, 197, 79, 207, 229, 171, 86, 85, 229, 161, 180, 150, 234, 83, 120, 44, 179, 86, 85, 141, 225, 152, 14, 22, 234, 66, 85, 125, 47, 205, 12, 77, 85, 205, 27, 242, 85, 152, 162, 100, 242, 200, 144, 46, 232, 6, 219, 24, 37, 70, 171, 171, 170, 174, 50, 125, 99, 18, 172, 142, 20, 203, 47, 174, 186, 243, 190, 29, 75, 137, 167, 197, 12, 217, 17, 39, 104, 140, 85, 141, 225, 30, 79, 196, 18, 53, 50, 7, - 82, 249, 51, 105, 26, 133, 68, 203, 83, 76, 146, 51, 66, 201, 21, 90, 29, 35, 96, 183, 90, 190, 205, 98, 242, 130, 249, 70, 210, 25, 8, 251, 109, 25, 13, 30, 208, 223, 23, 85, 176, 22, 85, 117, 250, 131, 199, 80, 67, 143, 142, 24, 114, 181, 246, 85, 7, 100, 216, 57, 239, 88, 54, 84, 76, 148, 232, 207, 155, 101, 40, 87, 107, 137, 94, 202, 20, 70, 242, 62, 109, 52, 78, 83, 216, 246, 35, 121, 110, 39, 75, 76, 127, 71, 25, 88, 178, 179, 52, 180, - 30, 183, 51, 101, 45, 237, 76, 90, 75, 99, 123, 222, 242, 168, 92, 200, 157, 48, 111, 218, 10, 165, 76, 84, 89, 89, 205, 5, 203, 57, 236, 212, 218, 18, 35, 153, 216, 213, 236, 184, 6, 41, 71, 181, 86, 104, 187, 40, 165, 82, 49, 150, 15, 226, 222, 39, 45, 183, 46, 61, 145, 106, 8, 53, 244, 175, 150, 237, 217, 97, 83, 74, 162, 229, 137, 168, 30, 88, 77, 153, 184, 88, 126, 16, 187, 141, 101, 171, 142, 242, 209, 89, 235, 56, 227, 7, 82, 76, 190, 100, - 48, 42, 156, 66, 119, 32, 87, 98, 12, 84, 47, 156, 196, 69, 86, 224, 215, 116, 138, 145, 115, 149, 31, 68, 61, 110, 89, 18, 161, 227, 206, 37, 49, 10, 25, 40, 137, 99, 230, 35, 82, 159, 92, 171, 129, 200, 104, 240, 74, 237, 30, 43, 109, 188, 163, 231, 16, 21, 107, 126, 111, 251, 200, 88, 24, 6, 242, 66, 100, 154, 58, 55, 167, 127, 22, 245, 143, 124, 236, 35, 11, 250, 141, 52, 16, 96, 72, 201, 153, 118, 84, 209, 147, 95, 53, 41, 87, 212, 138, 67, - 82, 164, 58, 27, 193, 166, 125, 216, 136, 44, 151, 39, 177, 5, 107, 190, 78, 44, 153, 196, 75, 188, 89, 123, 14, 237, 169, 169, 180, 42, 161, 83, 115, 100, 116, 108, 69, 242, 73, 247, 148, 26, 61, 172, 165, 79, 132, 33, 133, 83, 73, 150, 149, 44, 71, 63, 131, 101, 45, 58, 203, 205, 249, 208, 170, 31, 178, 195, 198, 160, 36, 161, 7, 158, 82, 46, 53, 78, 88, 177, 22, 37, 165, 28, 182, 136, 146, 17, 96, 45, 94, 80, 173, 6, 13, 210, 10, 69, 232, 250, - 146, 17, 169, 88, 106, 148, 139, 53, 170, 243, 15, 236, 159, 184, 124, 112, 219, 54, 172, 66, 216, 50, 105, 172, 85, 146, 150, 173, 126, 140, 211, 146, 186, 47, 131, 95, 125, 105, 131, 145, 26, 242, 184, 158, 17, 169, 81, 215, 141, 187, 193, 14, 161, 193, 96, 50, 144, 109, 232, 97, 108, 67, 141, 136, 27, 186, 237, 54, 80, 213, 229, 39, 150, 1, 189, 252, 168, 38, 103, 36, 57, 239, 196, 45, 183, 94, 209, 21, 34, 255, 32, 77, 167, 89, 195, 192, 8, 191, 152, 237, - 200, 175, 250, 230, 53, 3, 95, 119, 65, 128, 24, 69, 136, 108, 24, 105, 182, 88, 178, 73, 182, 100, 18, 17, 85, 56, 196, 150, 23, 180, 212, 144, 209, 156, 17, 29, 245, 47, 14, 114, 2, 253, 202, 245, 18, 136, 252, 38, 9, 69, 113, 168, 114, 132, 95, 228, 72, 126, 125, 5, 237, 200, 115, 156, 150, 145, 196, 82, 114, 201, 82, 114, 113, 83, 245, 85, 149, 126, 76, 113, 163, 126, 127, 217, 246, 107, 11, 238, 98, 255, 168, 19, 45, 198, 65, 171, 191, 214, 112, 182, - 70, 182, 95, 159, 11, 14, 43, 174, 5, 161, 211, 47, 149, 167, 191, 17, 33, 44, 197, 40, 205, 40, 81, 107, 245, 213, 86, 149, 142, 82, 43, 245, 215, 90, 237, 1, 136, 251, 219, 82, 90, 91, 165, 69, 196, 229, 105, 6, 165, 234, 234, 159, 61, 125, 215, 138, 11, 183, 63, 157, 75, 129, 102, 215, 251, 234, 236, 97, 139, 93, 233, 26, 26, 147, 221, 114, 215, 175, 21, 33, 177, 172, 249, 148, 172, 200, 20, 214, 88, 186, 173, 210, 188, 226, 165, 165, 30, 171, 70, 29, - 250, 253, 21, 12, 14, 214, 80, 150, 210, 195, 45, 173, 95, 97, 170, 212, 178, 210, 44, 46, 148, 117, 89, 8, 43, 46, 112, 173, 96, 66, 193, 85, 189, 87, 252, 224, 125, 125, 70, 190, 219, 177, 178, 8, 89, 143, 46, 57, 77, 42, 232, 49, 57, 237, 61, 219, 235, 53, 155, 91, 121, 118, 148, 159, 235, 228, 39, 75, 29, 179, 147, 242, 89, 79, 199, 124, 172, 56, 9, 236, 62, 251, 89, 205, 100, 172, 108, 10, 216, 107, 18, 218, 117, 18, 214, 49, 177, 237, 152, 105, - 150, 78, 242, 186, 206, 81, 187, 77, 106, 115, 179, 229, 114, 245, 70, 185, 86, 103, 245, 234, 139, 108, 110, 223, 213, 26, 168, 131, 115, 234, 159, 188, 6, 34, 175, 157, 40, 232, 49, 140, 170, 212, 123, 158, 218, 161, 45, 233, 84, 166, 20, 117, 78, 57, 109, 82, 105, 105, 22, 116, 80, 171, 82, 3, 25, 83, 227, 159, 188, 197, 73, 167, 173, 194, 207, 151, 84, 123, 44, 169, 190, 250, 22, 24, 123, 44, 40, 22, 215, 148, 126, 202, 53, 241, 61, 52, 195, 153, 226, 247, - 149, 232, 122, 51, 149, 232, 43, 81, 76, 153, 198, 105, 107, 254, 100, 207, 69, 173, 245, 252, 108, 103, 201, 173, 188, 0, 188, 138, 197, 222, 226, 82, 103, 201, 66, 108, 233, 130, 117, 151, 133, 222, 116, 129, 182, 83, 167, 210, 101, 33, 181, 203, 234, 108, 217, 122, 241, 42, 22, 194, 11, 75, 222, 221, 86, 228, 87, 183, 112, 188, 226, 106, 119, 207, 133, 242, 178, 37, 253, 30, 38, 179, 101, 161, 178, 37, 240, 210, 133, 235, 196, 162, 102, 205, 213, 53, 136, 100, 134, 177, - 158, 21, 214, 76, 208, 92, 228, 78, 151, 114, 203, 22, 60, 215, 190, 64, 221, 115, 245, 216, 88, 13, 205, 45, 36, 231, 172, 150, 251, 219, 81, 216, 239, 250, 53, 175, 93, 119, 250, 61, 119, 110, 81, 234, 94, 191, 187, 125, 231, 112, 191, 68, 195, 20, 105, 74, 205, 156, 23, 86, 185, 254, 156, 44, 55, 27, 171, 174, 233, 2, 107, 193, 50, 160, 176, 42, 92, 178, 250, 220, 125, 77, 57, 93, 8, 78, 151, 117, 179, 69, 93, 99, 229, 184, 124, 225, 59, 93, 30, 206, - 22, 150, 11, 214, 14, 133, 245, 252, 116, 157, 57, 191, 44, 222, 105, 206, 144, 179, 249, 40, 24, 63, 20, 109, 0, 202, 44, 25, 10, 139, 249, 5, 91, 130, 130, 221, 69, 137, 141, 68, 222, 30, 162, 99, 249, 190, 176, 220, 110, 174, 138, 231, 214, 246, 11, 86, 2, 43, 90, 66, 228, 13, 39, 10, 22, 29, 189, 44, 229, 11, 22, 212, 122, 213, 101, 5, 235, 233, 53, 247, 8, 206, 82, 180, 158, 253, 65, 150, 92, 144, 13, 96, 75, 236, 111, 243, 198, 137, 61, 108, - 109, 203, 236, 105, 123, 24, 234, 150, 88, 229, 154, 70, 143, 43, 108, 71, 88, 123, 105, 174, 111, 97, 118, 150, 101, 119, 187, 242, 53, 88, 141, 247, 180, 209, 46, 220, 168, 204, 236, 186, 212, 242, 124, 117, 6, 226, 37, 150, 229, 165, 22, 246, 101, 38, 235, 157, 150, 243, 69, 43, 252, 46, 166, 227, 229, 22, 232, 69, 211, 252, 82, 227, 249, 114, 67, 249, 188, 149, 201, 170, 118, 181, 164, 251, 30, 214, 174, 55, 154, 91, 87, 213, 209, 92, 190, 214, 149, 218, 98, 23, - 76, 149, 75, 172, 186, 87, 99, 175, 253, 19, 182, 202, 46, 179, 193, 94, 209, 42, 187, 96, 132, 221, 211, 206, 188, 103, 119, 83, 90, 150, 57, 235, 247, 220, 30, 152, 53, 215, 12, 236, 161, 89, 207, 186, 97, 164, 23, 172, 96, 66, 94, 98, 126, 222, 105, 67, 94, 180, 50, 239, 89, 120, 157, 183, 202, 54, 8, 173, 189, 156, 230, 188, 117, 45, 166, 52, 185, 164, 148, 86, 101, 162, 223, 97, 219, 191, 194, 182, 181, 181, 61, 116, 35, 146, 49, 198, 58, 60, 173, 78, - 39, 40, 49, 98, 210, 235, 216, 61, 13, 238, 186, 217, 179, 229, 86, 57, 86, 103, 232, 182, 6, 219, 189, 245, 181, 209, 51, 45, 1, 123, 111, 44, 236, 98, 89, 151, 179, 125, 43, 104, 170, 215, 98, 224, 85, 102, 181, 85, 208, 108, 247, 47, 217, 97, 127, 220, 108, 245, 207, 215, 106, 56, 182, 14, 73, 19, 251, 253, 129, 97, 85, 133, 32, 147, 201, 18, 108, 94, 80, 119, 48, 135, 146, 160, 18, 187, 195, 59, 135, 183, 218, 173, 150, 231, 108, 173, 219, 225, 33, 215, - 223, 213, 191, 163, 111, 91, 223, 64, 26, 223, 254, 117, 101, 43, 211, 23, 188, 41, 111, 225, 179, 226, 13, 17, 117, 171, 27, 200, 13, 75, 246, 98, 230, 205, 140, 138, 59, 51, 187, 26, 232, 172, 104, 252, 211, 213, 204, 39, 181, 10, 42, 236, 250, 204, 217, 26, 229, 183, 128, 150, 153, 60, 149, 91, 42, 173, 194, 210, 41, 219, 79, 186, 234, 194, 203, 30, 34, 111, 131, 165, 76, 161, 202, 247, 87, 254, 191, 94, 111, 102, 199, 101, 190, 232, 204, 184, 235, 255, 0, 69, - 83, 60, 165, 164, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -#endif diff --git a/fsw/cfe-core/ut-stubs/ut_fs_stubs.c b/fsw/cfe-core/ut-stubs/ut_fs_stubs.c index 3b553fa42..4324f5bd4 100644 --- a/fsw/cfe-core/ut-stubs/ut_fs_stubs.c +++ b/fsw/cfe-core/ut-stubs/ut_fs_stubs.c @@ -290,6 +290,8 @@ int32 CFE_FS_ExtractFilenameFromPath(const char *OriginalPath, char *FileNameOnl return status; } +#ifndef CFE_OMIT_DEPRECATED_6_7 + /*****************************************************************************/ /** ** \brief CFE_FS_Decompress stub function @@ -375,3 +377,4 @@ int32 CFE_FS_GetUncompressedFile(char *OutputNameBuffer, uint32 OutputNameBuffer return status; } +#endif /* CFE_OMIT_DEPRECATED_6_7 */